Download liquibase
Author: g | 2025-04-24
Download Liquibase: Download the Liquibase CLI from the Liquibase download page. Include Liquibase and JDBC Driver: Place the Liquibase executable (liquibase) and the Snowflake
liquibase/liquibase: Main Liquibase Source - GitHub
4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional liquibase.command.driver: liquibase.command.tag.driver: The JDBC driver class Optional liquibase.command.driverPropertiesFile: liquibase.command.tag.driverPropertiesFile: The JDBC driver properties file Optional liquibase.command.password: liquibase.command.tag.password: Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional liquibase.command.username: liquibase.command.tag.username: Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement JAVA_OPTS=-Dliquibase.command.tag= JAVA_OPTS=-Dliquibase.command.tag.tag= The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required JAVA_OPTS=-Dliquibase.command.url= JAVA_OPTS=-Dliquibase.command.tag.url= The JDBC database connection URL. See Using JDBC URL in Liquibase. Required JAVA_OPTS=-Dliquibase.command.addRow= JAVA_OPTS=-Dliquibase.command.tag.addRow= Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional JAVA_OPTS=-Dliquibase.command.defaultCatalogName= JAVA_OPTS=-Dliquibase.command.tag.defaultCatalogName= Name of the default catalog to use for the database connection Optional JAVA_OPTS=-Dliquibase.command.defaultSchemaName= JAVA_OPTS=-Dliquibase.command.tag.defaultSchemaName= Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any Tylor Graves December 23, 2024 16:32 Updated Applies toLiquibase ProLiquibase Open Source (Community)SummaryLiquibase is a versatile database change management tool that can be configured to deploy changes to multiple types of databases, such as Oracle and PostgreSQL, from a single instance. Below is a general guide to setting up Liquibase for this purpose.Environment ConditionsAny version of Liquibase Pro or Open SourceHow to Configure a Single Instance of Liquibase for Multiple DatabasesThis article will review two popular ways to configure a single instance of Liquibase to run on multiple databases. Liquibase Properties FilesStep 1: Create separate configuration files for each databaseExample for Oracle (liquibase.oracle.properties):changeLogFile=oracle_changelog.xmlurl=jdbc:oracle:thin:@//hostname:1521/service_nameusername=oracle_userpassword=oracle_passwordExample for PostgreSQL (liquibase.postgres.properties):changeLogFile=postgres_changelog.xmlurl=jdbc:postgresql://hostname:5432/database_nameusername=postgres_userpassword=postgres_passwordStep 2: Run Liquibase for Each DatabaseFor Oracle:liquibase --defaultsFile=liquibase.oracle.properties updateFor PostgreSQL:liquibase --defaultsFile=liquibase.postgres.properties updateCLI ArgumentsThe other alternative is to pass the required database information in as CLI arguments. liquibase \--changeLogFile=${CHANGELOG} \--url=${DB_URL} \--username=${DB_USERNAME} \--password=${DB_PASSWROD} \updateAll of the variables can be defined in the pipeline/environment. When Liquibase runs, it will deploy and connect to whatever database is given.This strategy is preferred when Liquibase runs inside a CI/CD platform. Related Article(s)N/A Related toliquibase/liquibase at main liquibasetest/liquibase - GitHub
Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional cmdArgs: { driver: "" } The JDBC driver class Optional cmdArgs: { driver-properties-file: "" } The JDBC driver properties file Optional cmdArgs: { password: "" } Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional cmdArgs: { username: "" } Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement liquibase.command.tag: liquibase.command.tag.tag: The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required liquibase.command.url: liquibase.command.tag.url: The JDBC database connection URL. See Using JDBC URL in Liquibase. Required liquibase.command.addRow: liquibase.command.tag.addRow: Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional liquibase.command.defaultCatalogName: liquibase.command.tag.defaultCatalogName: Name of the default catalog to use for the database connection Optional liquibase.command.defaultSchemaName: liquibase.command.tag.defaultSchemaName: Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase. Download Liquibase: Download the Liquibase CLI from the Liquibase download page. Include Liquibase and JDBC Driver: Place the Liquibase executable (liquibase) and the Snowflake Dive into Liquibase concepts with an Introduction to Liquibase. Download and install Liquibase on your machine. (Liquibase Pro users only) Enable Liquibase Pro capabilities. To apply aDownload liquibase-4.29.2.zip (Liquibase) - SourceForge
Casing. Optional JAVA_OPTS=-Dliquibase.command.driver= JAVA_OPTS=-Dliquibase.command.tag.driver= The JDBC driver class Optional JAVA_OPTS=-Dliquibase.command.driverPropertiesFile= JAVA_OPTS=-Dliquibase.command.tag.driverPropertiesFile= The JDBC driver properties file Optional JAVA_OPTS=-Dliquibase.command.password= JAVA_OPTS=-Dliquibase.command.tag.password= Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional JAVA_OPTS=-Dliquibase.command.username= JAVA_OPTS=-Dliquibase.command.tag.username= Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement LIQUIBASE_COMMAND_TAG= LIQUIBASE_COMMAND_TAG_TAG= The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required LIQUIBASE_COMMAND_URL= LIQUIBASE_COMMAND_TAG_URL= The JDBC database connection URL. See Using JDBC URL in Liquibase. Required LIQUIBASE_COMMAND_ADD_ROW= LIQUIBASE_COMMAND_TAG_ADD_ROW= Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional LIQUIBASE_COMMAND_DEFAULT_CATALOG_NAME= LIQUIBASE_COMMAND_TAG_DEFAULT_CATALOG_NAME= Name of the default catalog to use for the database connection Optional LIQUIBASE_COMMAND_DEFAULT_SCHEMA_NAME= LIQUIBASE_COMMAND_TAG_DEFAULT_SCHEMA_NAME= Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional LIQUIBASE_COMMAND_DRIVER= LIQUIBASE_COMMAND_TAG_DRIVER= The JDBC driver class Optional LIQUIBASE_COMMAND_DRIVER_PROPERTIES_FILE= LIQUIBASE_COMMAND_TAG_DRIVER_PROPERTIES_FILE= The JDBC driver properties file Optional LIQUIBASE_COMMAND_PASSWORD= LIQUIBASE_COMMAND_TAG_PASSWORD= Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase The default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional --driver= The JDBC driver class Optional --driver-properties-file= The JDBC driver properties file Optional --password= Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional --username= Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement cmdArgs: { tag: "" } The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required cmdArgs: { url: "" } The JDBC database connection URL. See Using JDBC URL in Liquibase. Required cmdArgs: { add-row: "" } Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional cmdArgs: { default-catalog-name: "" } Name of the default catalog to use for the database connection Optional cmdArgs: { default-schema-name: "" } Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable.How to use Liquibase in Jenkins – Liquibase
Space for database version control leaves a lot to be desired, but thankfully Liquibase has that covered! We have paired Liquibase with GitHub and GitHub actions to reliably ensure all of our environments are in sync and easily track our deployments.As database administrator and consultant, Liquibase is a great tool. It frees up DBA time to manually sync database schema between DEV, TEST and PROD environments. By doing schema comparison programally, it gives me the peace of mind that all database objects are identical between different environments. We could also delegate the task to operation team.Feng CaiDatabase Consultant - ProServe (Database Migration)"An ease of error-prone and quick database deployments both on-prem and on cloud integrated with CI/CD DevOps Automation."Liquibase brought our database changes and data correction processes up to speed with our code deploys which were already automated. It allows us to rely on automated validation as well as fit into our current software development lifecycle processes and CM software using a central versioned artifact capable of being deployed through our current CD pipeline.Joe AlbanoSenior Configuration Management AdvisorWe use the Liquibase tool for DB deployment automations using the CICD process. It helped us a lot by reducing human error with the standard audit reporting structure integrated with it.Nagendra SekharamantriDevOps Engineer"Use Cases and Deployment ScopeWe use Liquibase to handle version control and source code control of SQL scripts and database changes and for the deployment and (if needed) rollback of the same. It's helped us go from arbitrary SQL changes that we tried to manually track, to having a reliable, repeatable, accurate account of what's in our database structure."David WilliamsCTO (Chief Technical Officer)Liquibase addresses challenges related to database schema management, version control, collaboration, and deployment automation. Its scope of use cases spans software development, CI/CD, microservices, data migration, compliance. As applications evolve, the database schema might require refactoring. Liquibase supports the controlled refactoring of database structures while preserving data integrity."We use Liquibase to maintain our changelogs while transforming our data in snowflake and deploying it to test and prod. Liquibase changelogs help us keep up to date with our changes andReleases liquibase/liquibase-bigquery - GitHub
The tag command marks the current database state so you can roll back changes in the future. Tip: ">Tip: If you want to apply a tag to your database within your changelog, write a changeset containing the tagDatabase Change Type. To check whether a tag exists, use the tag-exists command. Uses The tag command is typically used to mark the current database state, version, release, or any other information by adding the tag to the last row in the DATABASECHANGELOG table. After setting the tag, you can use the rollback command to roll back all changes up to that tag. The image below shows the DATABASECHANGELOG table structure. Running the command tag version1 applies the tag version1 to the last row in the DATABASECHANGELOG table. If you run rollback version1 command, it will roll back only createTable C value. Note: ">Note: It is best practice to tag your changesets before running any other commands against your database. Syntax To run the tag command, specify the driver, classpath, and URL in the Liquibase properties file. For more information, see Create and Configure a liquibase.properties File. You can also specify these properties in your command line. Then run the tag command:liquibase tag --tag=myTag Note: ">Note: The --tag=myTag syntax was added in Liquibase 4.4. If you use an older version, specify your tag as a positional argument: myTag. Command parameters CLI Flow liquibase.properties JAVA_OPTS Environment variable Attribute Definition Requirement --tag= The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required --url= The JDBC database connection URL. See Using JDBC URL in Liquibase. Required --add-row= Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional --default-catalog-name= Name of the default catalog to use for the database connection Optional --default-schema-name= Name of. Download Liquibase: Download the Liquibase CLI from the Liquibase download page. Include Liquibase and JDBC Driver: Place the Liquibase executable (liquibase) and the SnowflakeBest Practices: Liquibase with Snowflake – Liquibase
Do the rollback in case of any error. Liquibase also provides many validation features that will come in handy if you want to establish checks during your code deployment. It's a great product with excellent customer service."Pratik LamsalDevOps EngineerChange log management organize and database changes in a systematic manner. Changes are organized into a series of change sets, each representing a specific change or a set of related changes.Peter LuSenior Backend EngineerI love the flexibility with the schema changes. I don't have to restrict my team to "only XML" way. It is possible to come up with schema changes in YAML and JSON, which is the order of game nowadays.Hari KPostgreSQL ConsultantFind the Liquibase solution that meets your needsWhether you’re looking for a tool to help your dev team increase velocity or a full CI/CD automation and observability solution, Liquibase can help.View Editions & FeaturesMore than automationTreating database change as code increases the speed of software delivery while improving security and compliance. It's time to bring DevOps to the database and outpace the competition.Build trust with your customersImprove reliability and secure sensitive customer information by enforcing policy to ensure separation of duties and limit access to sensitive data. In the event that something goes wrong, Liquibase provides you with a full audit trail so you can quickly identify the issue and use targeted rollbacks to fix it.Comments
4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional liquibase.command.driver: liquibase.command.tag.driver: The JDBC driver class Optional liquibase.command.driverPropertiesFile: liquibase.command.tag.driverPropertiesFile: The JDBC driver properties file Optional liquibase.command.password: liquibase.command.tag.password: Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional liquibase.command.username: liquibase.command.tag.username: Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement JAVA_OPTS=-Dliquibase.command.tag= JAVA_OPTS=-Dliquibase.command.tag.tag= The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required JAVA_OPTS=-Dliquibase.command.url= JAVA_OPTS=-Dliquibase.command.tag.url= The JDBC database connection URL. See Using JDBC URL in Liquibase. Required JAVA_OPTS=-Dliquibase.command.addRow= JAVA_OPTS=-Dliquibase.command.tag.addRow= Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional JAVA_OPTS=-Dliquibase.command.defaultCatalogName= JAVA_OPTS=-Dliquibase.command.tag.defaultCatalogName= Name of the default catalog to use for the database connection Optional JAVA_OPTS=-Dliquibase.command.defaultSchemaName= JAVA_OPTS=-Dliquibase.command.tag.defaultSchemaName= Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any
2025-04-10Tylor Graves December 23, 2024 16:32 Updated Applies toLiquibase ProLiquibase Open Source (Community)SummaryLiquibase is a versatile database change management tool that can be configured to deploy changes to multiple types of databases, such as Oracle and PostgreSQL, from a single instance. Below is a general guide to setting up Liquibase for this purpose.Environment ConditionsAny version of Liquibase Pro or Open SourceHow to Configure a Single Instance of Liquibase for Multiple DatabasesThis article will review two popular ways to configure a single instance of Liquibase to run on multiple databases. Liquibase Properties FilesStep 1: Create separate configuration files for each databaseExample for Oracle (liquibase.oracle.properties):changeLogFile=oracle_changelog.xmlurl=jdbc:oracle:thin:@//hostname:1521/service_nameusername=oracle_userpassword=oracle_passwordExample for PostgreSQL (liquibase.postgres.properties):changeLogFile=postgres_changelog.xmlurl=jdbc:postgresql://hostname:5432/database_nameusername=postgres_userpassword=postgres_passwordStep 2: Run Liquibase for Each DatabaseFor Oracle:liquibase --defaultsFile=liquibase.oracle.properties updateFor PostgreSQL:liquibase --defaultsFile=liquibase.postgres.properties updateCLI ArgumentsThe other alternative is to pass the required database information in as CLI arguments. liquibase \--changeLogFile=${CHANGELOG} \--url=${DB_URL} \--username=${DB_USERNAME} \--password=${DB_PASSWROD} \updateAll of the variables can be defined in the pipeline/environment. When Liquibase runs, it will deploy and connect to whatever database is given.This strategy is preferred when Liquibase runs inside a CI/CD platform. Related Article(s)N/A Related to
2025-04-13Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional cmdArgs: { driver: "" } The JDBC driver class Optional cmdArgs: { driver-properties-file: "" } The JDBC driver properties file Optional cmdArgs: { password: "" } Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional cmdArgs: { username: "" } Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement liquibase.command.tag: liquibase.command.tag.tag: The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required liquibase.command.url: liquibase.command.tag.url: The JDBC database connection URL. See Using JDBC URL in Liquibase. Required liquibase.command.addRow: liquibase.command.tag.addRow: Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional liquibase.command.defaultCatalogName: liquibase.command.tag.defaultCatalogName: Name of the default catalog to use for the database connection Optional liquibase.command.defaultSchemaName: liquibase.command.tag.defaultSchemaName: Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase
2025-04-21Casing. Optional JAVA_OPTS=-Dliquibase.command.driver= JAVA_OPTS=-Dliquibase.command.tag.driver= The JDBC driver class Optional JAVA_OPTS=-Dliquibase.command.driverPropertiesFile= JAVA_OPTS=-Dliquibase.command.tag.driverPropertiesFile= The JDBC driver properties file Optional JAVA_OPTS=-Dliquibase.command.password= JAVA_OPTS=-Dliquibase.command.tag.password= Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional JAVA_OPTS=-Dliquibase.command.username= JAVA_OPTS=-Dliquibase.command.tag.username= Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement LIQUIBASE_COMMAND_TAG= LIQUIBASE_COMMAND_TAG_TAG= The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required LIQUIBASE_COMMAND_URL= LIQUIBASE_COMMAND_TAG_URL= The JDBC database connection URL. See Using JDBC URL in Liquibase. Required LIQUIBASE_COMMAND_ADD_ROW= LIQUIBASE_COMMAND_TAG_ADD_ROW= Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional LIQUIBASE_COMMAND_DEFAULT_CATALOG_NAME= LIQUIBASE_COMMAND_TAG_DEFAULT_CATALOG_NAME= Name of the default catalog to use for the database connection Optional LIQUIBASE_COMMAND_DEFAULT_SCHEMA_NAME= LIQUIBASE_COMMAND_TAG_DEFAULT_SCHEMA_NAME= Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional LIQUIBASE_COMMAND_DRIVER= LIQUIBASE_COMMAND_TAG_DRIVER= The JDBC driver class Optional LIQUIBASE_COMMAND_DRIVER_PROPERTIES_FILE= LIQUIBASE_COMMAND_TAG_DRIVER_PROPERTIES_FILE= The JDBC driver properties file Optional LIQUIBASE_COMMAND_PASSWORD= LIQUIBASE_COMMAND_TAG_PASSWORD= Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase
2025-03-25The default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable. Note: ">Note: In the properties file and JAVA_OPTS only: in 4.18.0 and earlier, specify this parameter using the syntax defaultSchemaName. In 4.19.0 and later, use the syntax liquibase.command.defaultSchemaName. Note: ">Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set --preserve-schema-case to true. However, in Liquibase 4.12.0–4.22.0, the Liquibase validator still throws a DatabaseException error if you specify a mixed-case value of defaultSchemaName. In 4.23.0 and later, the Liquibase validator accepts any casing. Optional --driver= The JDBC driver class Optional --driver-properties-file= The JDBC driver properties file Optional --password= Password to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional --username= Username to connect to the target database. Tip: ">Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. Optional Attribute Definition Requirement cmdArgs: { tag: "" } The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format deprecated in 4.4+. Required cmdArgs: { url: "" } The JDBC database connection URL. See Using JDBC URL in Liquibase. Required cmdArgs: { add-row: "" } Liquibase Pro only. If true, creates a new DATABASECHANGELOG row for the tag you're adding. If false, adds the new tag to the last existing row. Liquibase 4.23.1+. Requires a Liquibase Pro license key. Default: false. Note: ">Note: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created. Optional cmdArgs: { default-catalog-name: "" } Name of the default catalog to use for the database connection Optional cmdArgs: { default-schema-name: "" } Name of the default schema to use for the database connection. If defaultSchemaName is set, then objects do not have to be fully qualified. This means you can refer to just mytable instead of myschema.mytable.
2025-04-14