Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Liquibase Secure DeveloperNew to Visual Studio Code? Get it now.
Liquibase Secure Developer

Liquibase Secure Developer

Liquibase

|
10 installs
| (0) | Free
Simplifies creating changelog, changeset, and changetype resources, and running local Liquibase operations and commands.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Liquibase Secure Developer

The official Liquibase Secure Developer VS Code extension simplifies creating Liquibase resources and running local Liquibase operations in preparation for automated or pipeline operations at scale, without directly interacting with the command line.

Both expert and new Liquibase users with a Liquibase License Key can easily accomplish TWO key tasks with this extension:

  1. Create Liquibase resources, such as changelogs, changesets, changetypes, defaults files, flow files, policy checks files and more in all supported formats of Formatted SQL, XML, JSON and YAML

  2. Run Liquibase operations, such status and validation checks, updates, rollbacks, drift detection, generate changelogs, and more.

The official Liquibase Secure Developer extension for VS Code enables Devs and other data change makers to treat database code like app code, with no context switching, and quickly realize the benefits of Liquibase: standardized database changes across the pipeline, governance and guardrails, policy enforcement, audit trails, and much much more.

Minimum Requirements

The extension auto-integrates with new and current Liquibase projects, uses existing properties files, changelogs, Env Vars and more. It requires only three pieces of information, all auto-detected from Liquibase defaults files, Environment Variables, or $PATH settings, or directly set in the extension’s Settings page:

  • LIQUIBASE_HOME
  • JAVA_HOME
  • LIQUIBASE_LICENSE_KEY

The extension works with

  • Liquibase Secure 5.0+
  • Liquibase Pro 4.24.0+
  • OpenJDK compatible 17+
  • Microsoft VS Code

Getting started

  • If you are new to Liquibase, please take a moment to review the Getting Started, Implementation, or Integration guides at https://docs.liquibase.com for an overview of Liquibase capabilities and configuration requirements.

  • If you already have a Liquibase project, install this extension and Open Folder… to the root project folder. Liquibase will detect the 3 required properties listed above, or it will open the Installation wizard to help you get started. (/media/walkthrough/liquibase-secure-developer-install-wizard.png)

Creating resources or running commands with Liquibase Secure Developer VS Code extension

Creating resources or running commands requires Liquibase properties (ie, global and command arguments) to be set. These can be set in a Defaults file, Environment Variables, and as run-time values input into the integrated command-palette wizard/walkthrough.

You can use a defaults file to store the information that Liquibase needs to connect to a particular database, along with other properties that rarely change. Use the Create or Register a Defaults file (also known as a liquibase.properties file) to store these property values.

Creating, Register, or Edit a Defaults File [optional]

  • Generate a new defaults file via the Liquibase: Create Defaults file command.
  • Edit an existing defaults file via the Liquibase: Edit existing Defaults file command.
  • Register an existing file via the Liquibase: Register existing file command.

These commands can be reached via the command palette or by opening the context menu to Create Resources submenu.

NOTE: This file often contains critical information about your URL (eg, JDBC database connection string) and connection such as username or password. Best practice is to use the appropriate Secrets Vaults configurations in the defaults file. So, add defaults files to your version control system WITH CAUTION. These files often contain sensitive information so they are better added to your .gitignore.

Executing Liquibase commands

All commands can be run from the extensions’ context menu or the command-palette bar (MAC: CMD+SHIFT+P / Windows: CTRL+SHIFT+P). The context menu is available by right-clicking anywhere within a XML. YAML, JSON, or formatted SQL changelog file, defaults file, flow file, or other key Liquibase resource file. The command-palette is reached with the keyboard shortcut on MAC: CMD+SHIFT+P / Windows: CTRL+SHIFT+P

Supported Liquibase Commands

Every command which needs a changelogfile can be executed by right clicking on the body of the open changelogfile to open the context menu, or by clicking the file title in the left-side Explorer. The commands available in the context menu are the update family including status and validate, the rollback family, flow, and checks commands and many more.

Currently, the following Liquibase commands are supported:

Liquibase Commands Menu

Create Resources
  • Create Defaults file (liquibase.properties)

  • Edit existing Defaults file

  • Register existing file…

  • Create Changelogs
    • Formatted SQL changelog
    • JSON changelog
    • XML changelog
    • YAML changelog
    • Get Help: Changelogs...

  • Create Changeset

  • Get Help: Changesets

  • Create an example Flow file (basic)...

  • Create example Flow file (advanced)...

  • Create Policy Checks file (default set)...

  • Get Help: Creating Resources

Update
  • List pending updates... (status command)

  • Validate root and child changelogs (validate command)

  • Update command (customize)...(update command)

  • Update command (use existing defaults)(update command)

  • Update one changeset...(update-one-changeset command)

  • Update specific count of changesets... (update-count command)

  • Update to tag... (update-to-tag command)

  • Update testing rollback (update-testing-rollback command)

  • Update SQL Previews
    • Preview update SQL (update-sql command)
    • Preview update-count SQL... (update-count-sql command)
    • Preview update-to-tag SQL... (update-to-tag-sql command)
    • Get Help: Update SQL

  • List all activities (DBCL-History table)... (dbclhistory command)

  • List past updates (DBCL table)... (history command)

  • Get Help: Updates

Rollbacks
  • Rollback changes to a tag... (rollback-to-tag command)

  • Rollback one changeset... (rollback-one-changeset command)

  • Rollback one update... (rollback-one-update command)

  • Rollback number of changesets... (rollback-count command)

  • Rollback to specific date... (rollback-to-date command)

  • Preview Rollback SQL
    • Preview rollback to tag SQL... (rollback-to-tag-sql command)
    • Preview rollback-one-changeset SQL... (rollback-one-changeset-sql command)
    • Preview rollback-one-update SQL... (rollback-one-update-sql command)
    • Preview rollback-count SQL... (rollback-count-sql command)
    • Preview rollback-to-date SQL... (rollback-to-date-sql command)
    • Preview future rollback SQL (future-rollback-sql command)
    • Preview future rollback count SQL (future-rollback-count-sql command)
    • Get Help: Future Rollback SQL

  • Get Help: Rollback

Policy Checks
  • Checks Run (customize)...

  • Checks Run (default all enabled)

  • Manage Checks
    • Show all checks (checks show command)
    • Show specific checks... (checks show command)
    • Turn off all checks (checks disable command)
    • Turn off specific checks... (checks disable command)
    • Bulk set check severity...(checks bulk-set command)
    • Turn on all checks (checks enable command)
    • Turn on specific checks...(checks enable command)
    • Get Help: Manage Checks

  • Get Help: Policy Checks

Flow
  • Flow command (customize)...(flow command)
  • Flow command (default flowfile) (flow command)
  • Validate flow files... (flow validate command)
  • Generate new flow file...
  • Set default flowfile...
  • Get Help: Flow
Additional Commands
  • Init Commands
    • Init Project... (init-project command)
    • Init Start H2 Database... (start-h2 command)
    • Get Help: Init Commands
  • Database Inspection Commands
    • Generate changelog of target database (--url)... (generate-changelog command)
    • Compare two databases or snapshot files... (diff command)
    • Generate diff-changelog of target & source databases... (diff-changelog command)
    • Capture snapshot of source database (--reference-url)... (snapshot-reference command)
    • Capture snapshot of target database (--url)... (snapshot command)
    • Get Help: Database Inspection Commands
  • Change Tracking Commands
    • coming soon...
  • Utility Commands
    • coming soon…
  • Policy Checks Commands
    • coming soon...
  • Flow Commands
    • coming soon...
Observability
  • Get Help: Reports

  • DBCL-History table
    • Disable DBCL-History table
    • Enable DBCL-History table
    • Setup DBCL-History table...
    • Get Help: DBCL-History table

  • Report Settings
    • Disable All Reports
    • Enable All Reports
    • Enable only select reports...
    • Set report name...
    • Set reports path...

  • Set log level
    • 1 - Off
    • 2 - Severe (least verbose)
    • 3 - Warning
    • 4 - Info
    • 5 - Fine (most verbose)
    • Get Help: Log levels

  • Structured Logging
    • Disable Structured Logs
    • Enable Structured Logs...
    • Setup custom structured logging...
    • Get Help: Structured Logs

Extensions
  • AWS Extension help
  • Azure Extension help
  • DynamoDB Extension help
  • Hashicorp Vault Extension help
  • MongoDB Extension help
  • Unsupported Community Extensions
  • Get Help: Extensions
Settings & Feedback
  • Get Liquibase Support...

  • Give Product Feedback...

  • Edit Liquibase Settings...

  • Anonymous Analytics
    • Enable Analytics
    • Disable Analytics
    • Get Help: Anonymous Analytics

Observability and logs

Liquibase's Observability capabilities, such as DBCL and DBCL-History tables, Update/Rollback/Checks/Drift Reports, Structured Logs and LogLevel settings can be managed through the context menu's Observability sub-menu.

This extension generates logs which can be viewed in the Output tab, which can be opened with the command Output: Focus on Output View and then selecting the Liquibase channel.

Logs will be also written to a log folder on your OS. Open the log folder via the command-palette with Developer: Open Extension Logs Folder and then opening the Liquibase.secure-developer-vscode directory.

Original Code Credit

This extension was created as a fork from code under the MIT License available at https://github.com/aditosoftware/vscode-liquibase

Copyright (c) 2024 ADITO Software GmbH http://www.adito.de

Liquibase Secure Developer VS Code extension code

Copyright (c) 2025 Liquibase http://www.liquibase.com

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft