What are parameters?
Last published July 28, 2025
Parameters allow you to specify additional behavior when running Liquibase Commands. They may take Booleans, strings, integers, or other types as values. You can:
- Enter properties as command-line arguments - Create connection profiles or specify other parameters in the Liquibase properties file - Specify global or command arguments in Liquibase flow file actions - Use the JAVA_OPTS variable to pass custom settings to the Java Virtual Machine (JVM) that runs Liquibase - Use environment variables to securely pass sensitive data
Configuration hierarchy
Liquibase supports the setting of properties from the following locations, from highest to lowest priority:
Liquibase flow file stage parameters
Liquibase flow file global parameters
Command-line arguments
ServletConfig
initialization parametersServletContext
initialization parametersJava system properties
OS environment variables
Configuration data, such as piped standard input, defaults files, and connection profiles and other properties stored in the Liquibase properties file.
For example, command-line arguments override ServletConfig
and ServletContext
initialization parameters, Java system properties, OS environment variables, and configuration data, while OS environment variables override configuration data only.
The following tables describe the Liquibase parameters that are available as global or command-specific options. For more information, run liquibase --help
from the command prompt. To learn how to use parameters in more detail, see Working with Command Parameters.
Global
You can use global parameters with any Liquibase command.
Note: Syntax for each parameter is specified in kebab-case
(CLI and flow file), camelCase
(properties file and JAVA_OPTS
), and MACRO_CASE
(environment variable).
Tip: For best results, specify all commands and parameters in the --kebab-case
format in the CLI. If your preference is camelCase, it also works in the CLI.
Global parameter options
Syntax | Description |
-h --help | Opens the help menu. CLI-only. |
-v --version | Print version information. CLI-only. |
Mongo shell integration arguments
Parameter | Type | Description |
| String | Defines extra arguments to pass to the mongoshexecutable. For more information, see Mongosh documentation. Note: The delimiter for arguments is a space |
| String | Name of a custom executor you can specify. |
| Boolean | Indicates whether or not to keep a temporary SQL file after the execution of Mongosh. If |
| String | Indicates the name of a temporary SQL file after the execution of Mongosh. If no file name is specified, a name is automatically generated. |
| String | Specify the path in which to store the temporary files after the execution of Mongosh. If not specified, the files will be stored in the system's |
| String | Log file for Mongo shell output. |
| String | Path to Linux: Windows: |
| Integer | Indicates seconds to wait for the |
Configuration
Note: Before Liquibase 4.25.0, the following configuration properties can only be set as operating system environment variables (such as LIQUIBASE_HOME
). In Liquibase 4.25.0+, you can set these with the JAVA_OPTS Environment Variable (such as liquibase.home
) like other Liquibase parameters on this page.
Syntax ( | Type | Description |
liquibase.home LIQUIBASE_HOME | String | The directory that points to the Liquibase installation location. |
liquibase.launcher.debug LIQUIBASE_LAUNCHER_DEBUG | String | Enables the Liquibase debug mode, which produces more log output and allows the user to debug their database. |
liquibase.launcher.parent.classloader LIQUIBASE_LAUNCHER_PARENT_CLASSLOADER | String | The classloader that runs Liquibase via either system or thread. This variable defaults to system. |
Command parameters
You can use command parameters with only certain commands or groups of commands.
Note: Syntax for each parameter is specified in kebab-case
(CLI and flow file), camelCase
(properties file and JAVA_OPTS
), and MACRO_CASE
(environment variable).
Tip: For best results, specify all commands and parameters in the --kebab-case
format in the CLI. If your preference is camelCase, it also works in the CLI.
Note: It is best practice only to use alphanumeric characters and underscores in your liquibase-schema-name
, because your database may not support hyphens and other special characters. If you must use hyphens, you must escape the lines containing hyphens. Many databases, such as PostgreSQL, MySQL, and SQLite support using quotes to escape characters. For example, "schemas-with-a-hyphen-or-dash-symbol-in-the-name"
. You'll need to refer to the documentation for your DBMS to determine if it supports quoted identifiers.
You do not need to use quoted identifiers if you are using objectQuotingStrategy="QUOTE_ALL_OBJECTS"
at the changelog/changeset level.
Command parameter options
For more information, see Substituting Properties in Changelogs.
Syntax | Description |
-D | CLI only. Pass a name/value pair for substitution in the changelog(s). Pass as |