liquibase-schema-name
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.
Uses
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:
JAVA_OPTS=-Dliquibase.liquibaseSchemaName
=<string>
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:
LIQUIBASE_LIQUIBASE_SCHEMA_NAME
=<string>
Windows syntax:
set LIQUIBASE_LIQUIBASE_SCHEMA_NAME
=<string>
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.