The liquibase-schema-name global parameter is a string that specifies the schema to use for the creation of Liquibase objects, like the DATABASECHANGELOG and DATABASECHANGELOGLOCK tracking tables.


If you are working in a multi-schema project, you can use liquibase-schema-name to separate the DATABASECHANGELOG and DATABASECHANGELOGLOCK tables from other Liquibase objects. This way, you will have a tracking schema and one or more managed schemas.

If you need to work in a test schema for your project, you can set liquibase-schema-name to control where Liquibase looks for the tracking tables during test runs.

Setting the liquibase-schema-name parameter

You can set liquibase-schema-name in four ways:

  • In the Liquibase properties file
  • As a global parameter in the CLI
  • As a JVM system property
  • As an environment variable (Liquibase Pro)

Liquibase properties file parameter

In Liquibase 4.1+, add the following to Liquibase properties file:

liquibase.liquibaseSchemaName: <string>

CLI global parameter

In your command line, use a global parameter with a single Liquibase command:

liquibase --liquibase-schema-name=<string> update --changelog-file=dbchangelog.xml

Java system property

In your command line, use the JAVA_OPTS Environment Variable to set a JVM system property:

Mac/Linux syntax:


Windows syntax:

set JAVA_OPTS=-Dliquibase.liquibaseSchemaName=<string>

Note: To use a Liquibase command alongside JAVA_OPTS, add && liquibase <command> to the end of your input.

Environment variable (Liquibase Pro)

In Liquibase Pro, set an environment variable:

Mac/Linux syntax:


Windows syntax:


Note: These environment variable commands only apply to the current shell. If you need to pass an environment variable to a child process without affecting the parent process, you can use the export command on Mac/Linux or the setx command on Windows.

Related links