Liquibase Parameters

Parameters allow you to specify additional behavior when running Liquibase Commands. They may take Booleans, strings, integers, or other types as values. You can:

Configuration hierarchy

Liquibase supports the setting of properties from the following locations, from highest to lowest priority:

  1. Liquibase flow file stage parameters
  2. Liquibase flow file global parameters
  3. Command-line arguments
  4. ServletConfig initialization parameters
  5. ServletContext initialization parameters
  6. Java system properties
  7. OS environment variables
  8. 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.

Info

Syntax Description
-h
--help
Opens the help menu. CLI-only.
-v
--version
Print version information. CLI-only.

General

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--allow-duplicated-changeset-identifiers
globalArgs: {allow-duplicated-changeset-identifiers: "val"}
liquibase.allowDuplicatedChangesetIdentifiers
LIQUIBASE_ALLOW_DUPLICATED_CHANGESET_IDENTIFIERS
Boolean Specifies whether Liquibase lets you deploy multiple changesets with the same filepath, author, and ID. Liquibase 4.25.1+. Default: false. See allow-duplicated-changeset-identifiers.
--always-drop-instead-of-replace
globalArgs: {always-drop-instead-of-replace: "val"}
liquibase.alwaysDropInsteadOfReplace
LIQUIBASE_ALWAYS_DROP_INSTEAD_OF_REPLACE
Boolean If true, drops and recreates a view instead of replacing it. Only affects PostgreSQL databases. Default: false. See always-drop-instead-of-replace.
--always-override-stored-logic-schema
globalArgs: {always-override-stored-logic-schema: "val"}
liquibase.alwaysOverrideStoredLogicSchema
LIQUIBASE_ALWAYS_OVERRIDE_STORED_LOGIC_SCHEMA
String When generating SQL for createProcedure, the parameter defines whether the procedure schema should be forced to the default schema if no schemaName attribute is set. Default: false. See always-override-stored-logic-schema.
--analytics-enabled
globalArgs: {analytics-enabled: "val"}
liquibase.analyticsEnabled
LIQUIBASE_ANALYTICS_ENABLED
Boolean Liquibase 4.30.0+. Enables or disables Liquibase Anonymous Analytics. Default: true for Liquibase Open Source users and false for Liquibase Pro users. See analytics-enabled.
--analytics-log-level
globalArgs: {analytics-log-level: "val"}
liquibase.analyticsLogLevel
LIQUIBASE_ANALYTICS_LOG_LEVEL
String Liquibase 4.30.0+. Specifies the amount of detail Liquibase provides in user-facing logs for Anonymous Analytics. Default: INFO. See analytics-log-level.
--auto-reorg
globalArgs: {auto-reorg: "val"}
liquibase.autoReorg
LIQUIBASE_AUTO_REORG
Boolean Defines whether Liquibase automatically reorganizes table objects stored on disk when you modify a DB2 database. Default: true. See auto-reorg.
--changelog-lock-poll-rate
globalArgs: {changelog-lock-poll-rate: "val"}
liquibase.changelogLockPollRate
LIQUIBASE_CHANGELOG_LOCK_POLL_RATE
Integer Specifies the number of seconds Liquibase waits to check if a changelog lock has been released. Default: 10. See changelog-lock-poll-rate.
--changelog-lock-wait-time-in-minutes
globalArgs: {changelog-lock-wait-time-in-minutes: "val"}
liquibase.changelogLockWaitTimeInMinutes
LIQUIBASE_CHANGELOG_LOCK_WAIT_TIME_IN_MINUTES
Integer Specifies the amount of time Liquibase waits for a locked database to become available. Default: 5. See changelog-lock-wait-time-in-minutes.
--changelog-parse-mode
globalArgs: {changelog-parse-mode: "val"}
liquibase.changelogParseMode
LIQUIBASE_CHANGELOG_PARSE_MODE
String Configures how to handle unknown fields in changelog files. Possible values: STRICT (causes parsing to fail) and LAX (continues with the parsing). Default: STRICT.
--classpath
globalArgs: {classpath: "val"}
liquibase.classpath
LIQUIBASE_CLASSPATH
String Specifies additional classpath entries to use. Use the format /path/to/your/additional/jars. Separate multiple JARs with : on UNIX and ; on Windows. For example: ./DatabricksJDBC42.jar:./liquibase-databricks-<version>.jar

Note: Liquibase uses the classpath to find all JARs in any location you specify except for extension JARs, such as the Liquibase extension for DynamoDB. Extension JARs included via classpath must go in one of the following locations: ./liquibase_libs, lib, internal/lib, or internal/extensions.

--convert-data-types
globalArgs: {convert-data-types: "val"}
liquibase.convertDataTypes
LIQUIBASE_CONVERT_DATA_TYPES
Boolean Allows Liquibase to convert data types such as int, bigint, timestamp, and clob to the standard data types. Default: true. See convert-data-types.
--database-changelog-lock-table-name
globalArgs: {database-changelog-lock-table-name: "val"}
liquibase.databaseChangelogLockTableName
LIQUIBASE_DATABASE_CHANGELOG_LOCK_TABLE_NAME
String Specifies the name of a table to use for tracking concurrent Liquibase usage. Default: DATABASECHANGELOGLOCK. See database-changelog-lock-table-name.
--database-changelog-table-name
globalArgs: {database-changelog-table-name: "val"}
liquibase.databaseChangelogTableName
LIQUIBASE_DATABASE_CHANGELOG_TABLE_NAME
String Specifies the name of a table to use for tracking change history. Default: DATABASECHANGELOG. See database-changelog-table-name.
--database-class
globalArgs: {database-class: "val"}
liquibase.databaseClass
LIQUIBASE_DATABASE_CLASS
String Specifies the class to use for a Database implementation. See database-class.
--ddl-lock-timeout
globalArgs: {ddl-lock-timeout: "val"}
liquibase.ddlLockTimeout
LIQUIBASE_DDL_LOCK_TIMEOUT
Integer Liquibase 4.6.2+. Indicates the number of seconds a DDL command should wait for the locks to become available before throwing the "resource busy" error message. This parameter applies only to Oracle databases. See ddl-lock-timeout.
--defaults-file
globalArgs: {defaults-file: "val"}
liquibase.defaultsFile
LIQUIBASE_DEFAULTS_FILE
String Specifies the file with default Liquibase properties. Default: liquibase.properties. See defaults-file.
--diff-column-order
globalArgs: {diff-column-order: "val"}
liquibase.diffColumnOrder
LIQUIBASE_DIFF_COLUMN_ORDER
Boolean Defines whether Liquibase compares the column order in a diff operation. Default: true. See diff-column-order.
--driver
globalArgs: {driver: "val"}
liquibase.driver
LIQUIBASE_DRIVER
String Specifies the database driver class. See driver.
--driver-properties-file
globalArgs: {driver-properties-file: "val"}
liquibase.driverPropertiesFile
LIQUIBASE_DRIVER_PROPERTIES_FILE
String Specifies a file with driver-specific JDBC connection properties, to keep them separate from other properties. See driver-properties-file.
--duplicate-file-mode
globalArgs: {duplicate-file-mode: "val"}
liquibase.duplicateFileMode
LIQUIBASE_DUPLICATE_FILE_MODE
String How to handle multiple files being found in the search path that have duplicate paths. Valid values are SILENT (do not log and choose one at random), DEBUG, INFO, WARN (log at the given level and choose one at random), and ERROR (fail current operation) Default: ERROR. See duplicate-file-mode.
--error-on-circular-include-all
globalArgs: {error-on-circular-include-all: "val"}
liquibase.errorOnCircularIncludeAll
LIQUIBASE_ERROR_ON_CIRCULAR_INCLUDE_ALL
Boolean Throw an error if Liquibase detects that an includeAll will cause a circular reference (and thus a changelog parse error). Default: true. See error-on-circular-include-all.
--file-encoding
globalArgs: {file-encoding: "val"}
liquibase.fileEncoding
LIQUIBASE_FILE_ENCODING
String Encoding to use when reading files. Valid values include: UTF-8, UTF-16, UTF-16BE, UTF-16LE, US-ASCII, or OS to use the system configured encoding. Default: UTF-8. See file-encoding.
--generate-changeset-created-values
globalArgs: {generate-changeset-created-values: "val"}
liquibase.generateChangesetCreatedValues
LIQUIBASE_GENERATE_CHANGESET_CREATED_VALUES
Boolean Determines whether Liquibase adds timestamps to changesets in the changelog it generates when you run the diff-changelog or generate-changelog commands. Default: false. See generate-changeset-created-values.
--generated-changeset-ids-contains-description
globalArgs: {generated-changeset-ids-contains-description: "val"}
liquibase.generatedChangesetIdsContainsDescription
LIQUIBASE_GENERATED_CHANGESET_IDS_CONTAINS_DESCRIPTION
String Determines whether Liquibase includes changeset descriptions in changelogs generated with the generate-changelog command in addition to changeset IDs. Default: false. See generated-changeset-ids-contains-description.
--headless
globalArgs: {headless: "val"}
liquibase.headless
LIQUIBASE_HEADLESS
String Forces Liquibase to run without access to the console for input and output. Default: false. See headless.
--include-catalog-in-specification
globalArgs: {include-catalog-in-specification: "val"}
liquibase.includeCatalogInSpecification
LIQUIBASE_INCLUDE_CATALOG_IN_SPECIFICATION
Boolean Defines whether Liquibase includes the catalog name when determining equality between the compared databases. Default: false. See include-catalog-in-specification.
--include-relations-for-computed-columns
globalArgs: {include-relations-for-computed-columns: "val"}
liquibase.includeRelationsForComputedColumns
LIQUIBASE_INCLUDE_RELATIONS_FOR_COMPUTED_COLUMNS
Boolean

Specifies whether Liquibase commands like diff and snapshot preserve the parent relationship for computed columns. Default: false. Available in Liquibase 4.25.0+. See include-relations-for-computed-columns.

--include-system-classpath
globalArgs: {include-system-classpath: "val"}
liquibase.includeSystemClasspath
LIQUIBASE_INCLUDE_SYSTEM_CLASSPATH
Boolean Defines whether Liquibase includes the system classpath when resolving classes at runtime. Default: true. See include-system-classpath.
--license-key
globalArgs: {license-key: "val"}
liquibase.licenseKey
LIQUIBASE_LICENSE_KEY
String Specifies Liquibase Pro license key that allows using all the functionality of Liquibase Open Source and Liquibase Pro. Deprecated: liquibase.pro.licenseKey. See How to Apply Your Liquibase Pro License Key.
--liquibase-catalog-name
globalArgs: {liquibase-catalog-name: "val"}
liquibase.liquibaseCatalogName
LIQUIBASE_LIQUIBASE_CATALOG_NAME
String Specifies the catalog to use for Liquibase objects. See liquibase-catalog-name.
--liquibase-schema-name
globalArgs: {liquibase-schema-name: "val"}
liquibase.liquibaseSchemaName
LIQUIBASE_LIQUIBASE_SCHEMA_NAME
String Specifies the schema to use for the creation of Liquibase objects, like the DATABASECHANGELOG and DATABASECHANGELOGLOCK tracking tables. See liquibase-schema-name.
--liquibase-tablespace-name
globalArgs: {liquibase-tablespace-name: "val"}
liquibase.liquibaseTablespaceName
LIQUIBASE_LIQUIBASE_TABLESPACE_NAME
String Specifies the tablespace Liquibase uses to store objects that are being deployed to your database. See liquibase-tablespace-name.
--log-channels
globalArgs: {log-channels: "val"}
liquibase.logChannels
LIQUIBASE_LOG_CHANNELS
String Controls which log channels have their level set by the liquibase.logLevel setting. Separate multiple values with commas. Example: liquibase,org.mariadb.jdbc. To set the level of all channels, use ALL. See log-channels.
--log-file
globalArgs: {log-file: "val"}
liquibase.logFile
LIQUIBASE_LOG_FILE
String Sends logging messages of what Liquibase does during runtime to a file. See log-file.
--log-format
globalArgs: {log-format: "val"}
liquibase.logFormat
LIQUIBASE_LOG_FORMAT
String

Sets the format of log output to the console or to log files. Liquibase Open Source users default to unstructured TEXT logs to the console or output log files. Liquibase Pro users have the option to set the value as JSON or JSON_PRETTY to enable JSON-structured log files to the console or output log files. Default: TEXT. See log-format.

--log-level
globalArgs: {log-level: "val"}
liquibase.logLevel
LIQUIBASE_LOG_LEVEL
String Controls the amount of messages that are generated when running Liquibase commands. The official log levels are: OFF, SEVERE, WARNING, INFO, FINE. Default: SEVERE. See log-level.
--mirror-console-messages-to-log
globalArgs: {mirror-console-messages-to-log: "val"}
liquibase.mirrorConsoleMessagesToLog
LIQUIBASE_MIRROR_CONSOLE_MESSAGES_TO_LOG
Boolean When set to true, the console messages are mirrored to the logs as [liquibase.ui] to provide a more complete picture of Liquibase operations to log analysis tools. Set to false to change this behavior. Default: true. See mirror-console-messages-to-log.
--missing-property-mode
globalArgs: {missing-property-mode: "val"}
liquibase.missingPropertyMode
LIQUIBASE_MISSING_PROPERTY_MODE
String Specifies how to handle changelog property expressions where a value is not set. For example, a string null when no address property was defined. Values can be: PRESERVE, which leaves the string as-is; EMPTY, which replaces it with an empty string; or ERROR, which stops processing with an error. Default: PRESERVE.
--monitor-performance
globalArgs: {monitor-performance: "val"}
liquibase.monitorPerformance
LIQUIBASE_MONITOR_PERFORMANCE
Boolean Enables performance tracking. If true, data is stored to a liquibase-TIMESTAMP.jfr file in your working directory. Any other value will enable tracking and be used as the name of the file to write the data to. Default: false. See monitor-performance.
--on-missing-include-changelog
globalArgs: {on-missing-include-changelog: "val"}
liquibase.onMissingIncludeChangelog
LIQUIBASE_ON_MISSING_INCLUDE_CHANGELOG
String Controls how Liquibase behaves when it cannot find a changelog specified in an include tag in the root changelog. Can be set to WARN or FAIL. See on-missing-include-changelog.
--output-file
globalArgs: {output-file: "val"}
liquibase.outputFile
LIQUIBASE_OUTPUT_FILE
String

File path to where the command output will be written. If not specified, output goes to STDOUT. See --output-file.

--output-file-encoding
globalArgs: {output-file-encoding: "val"}
liquibase.outputFileEncoding
LIQUIBASE_OUTPUT_FILE_ENCODING
String Determines which character encoding to use when writing Liquibase command outputs to external files. Default: UTF-8. See output-file-encoding.
--output-line-separator
globalArgs: {output-line-separator: "val"}
liquibase.outputLineSeparator
LIQUIBASE_OUTPUT_LINE_SEPARATOR
String Specifies the string that separates lines in STDOUT. Default: OS default line separator (LF or CRLF). See output-line-separator.
--preserve-classpath-prefix-in-normalized-paths
globalArgs: {preserve-classpath-prefix-in-normalized-paths: "val"}
liquibase.preserveClasspathPrefixInNormalizedPaths
LIQUIBASE_PRESERVE_CLASSPATH_PREFIX_IN_NORMALIZED_PATHS
Boolean Liquibase 4.30.0+. Forces Liquibase to preserve the prefix classpath: while it normalizes the resource path you have specified in --classpath. Default: false. See preserve-classpath-prefix-in-normalized-paths.
--preserve-schema-case
globalArgs: {preserve-schema-case: "val"}
liquibase.preserveSchemaCase
LIQUIBASE_PRESERVE_SCHEMA_CASE
Boolean Determines whether Liquibase treats schema and catalog names as case-sensitive. Default: false.
--pro-global-end-delimiter
globalArgs: {pro-global-end-delimiter: "val"}
liquibase.pro.globalEndDelimiter
LIQUIBASE_PRO_GLOBAL_END_DELIMITER
String

Liquibase 4.25.1+. Specifies a default delimiter for all changesets. Default: ;. See pro-global-end-delimiter.

Tip: It is a best practice not to use --pro-global-end-delimiter on changesets you are running with a native executor. Native executors handle delimiters natively.

--pro-global-end-delimiter-prioritized
globalArgs: {pro-global-end-delimiter-prioritized: "val"}
liquibase.pro.globalEndDelimiter.prioritized
LIQUIBASE_PRO_GLOBAL_END_DELIMITER_PRIORITIZED
Boolean

Liquibase 4.25.1+. Specifies whether the --pro-global-end-delimiter parameter always takes priority over other Liquibase delimiter settings. Default: false. See pro-global-end-delimiter-prioritized.

--pro-global-strip-comments
globalArgs: {pro-global-strip-comments: "val"}
liquibase.pro.globalStripComments
LIQUIBASE_PRO_GLOBAL_STRIP_COMMENTS
Boolean Liquibase 4.29.2+. Specifies default SQL comment stripping behavior for all changesets. Default: true. See pro-global-strip-comments.
--pro-global-strip-comments-prioritized
globalArgs: {pro-global-strip-comments-prioritized: "val"}
liquibase.pro.globalStripComments.prioritized
LIQUIBASE_PRO_GLOBAL_STRIP_COMMENTS_PRIORITIZED
Boolean Liquibase 4.29.2+. Specifies whether the --pro-global-strip-comments parameter always takes priority over other Liquibase SQL comment stripping settings. Default: false. See pro-global-strip-comments-prioritized.
--pro-mark-unused-not-drop
globalArgs: {pro-mark-unused-not-drop: "val"}
liquibase.pro.markUnusedNotDrop
LIQUIBASE_PRO_MARK_UNUSED_NOT_DROP
Boolean Defines whether a column will be dropped when running diff-changelog or generate-changelog. If false, Liquibase continues to drop columns rather than marking them as unused. If true, creates the markUnused changes instead of the dropColumn changes and overrides the behavior. Default: false.
--pro-sql-inline
globalArgs: {pro-sql-inline: "val"}
liquibase.pro.sql.inline
LIQUIBASE_PRO_SQL_INLINE
Boolean If true, Liquibase generates changesets with SQL-based changes embedded instead of saving them to an external file. Default: false.
--pro-strict
globalArgs: {pro-strict: "val"}
liquibase.proStrict
LIQUIBASE_PRO_STRICT
Boolean If true, Liquibase checks for the existence of Liquibase Pro resource files that you've specified. Default: false. See pro-strict.
--pro-synonyms-drop-public
globalArgs: {pro-synonyms-drop-public: "val"}
liquibase.pro.synonyms.drop.public
LIQUIBASE_PRO_SYNONYMS_DROP_PUBLIC
Boolean If false, Liquibase does not drop public synonyms in diff-changelog or drop-all. Default: true.
--prompt-for-non-local-database
globalArgs: {prompt-for-non-local-database: "val"}
liquibase.promptForNonLocalDatabase
LIQUIBASE_PROMPT_FOR_NON_LOCAL_DATABASE
Boolean Determines whether Liquibase prompts you if you access a non-local database. Default: false.
--property-provider-class
globalArgs: {property-provider-class: "val"}
liquibase.propertyProviderClass
LIQUIBASE_PROPERTY_PROVIDER_CLASS
String Implements the Properties class to provide additional driver properties.
--search-path
globalArgs: {search-path: "val"}
liquibase.searchPath
LIQUIBASE_SEARCH_PATH
String Specifies the locations to search for migration files in. Separate multiple paths with commas. See search-path.
--secure-parsing
globalArgs: {secure-parsing: "val"}
liquibase.secureParsing
LIQUIBASE_SECURE_PARSING
Boolean Enables the validation of the custom XSD files. If true, removes functionality from file parsers which could be used insecurely. Examples include (but not limited to) disabling remote XML entity support. If you use custom XSD files, set this parameter to false. (Liquibase 4.8.0 and later versions). Default: true.
--should-run
globalArgs: {should-run: "val"}
liquibase.shouldRun
LIQUIBASE_SHOULD_RUN
Boolean Determines whether Liquibase commands execute. Default: true. See should-run.
--should-snapshot-data
globalArgs: {should-snapshot-data: "val"}
liquibase.shouldSnapshotData
LIQUIBASE_SHOULD_SNAPSHOT_DATA
Boolean Determines whether Liquibase snapshots your database data. Default: false. See should-snapshot-data.
--show-banner
globalArgs: {show-banner: "val"}
liquibase.showBanner
LIQUIBASE_SHOW_BANNER
Boolean If true, shows a Liquibase banner on startup. Default: true.
--sql-log-level
globalArgs: {sql-log-level: "val"}
liquibase.sql.logLevel
LIQUIBASE_SQL_LOG_LEVEL
String Defines the level of logging for SQL statements. Valid values are <FINE|INFO|WARNING|SEVERE|OFF>. 4.6.2+. Default: FINE. See sql-log-level.
--sql-show-sql-warnings
globalArgs: {sql-show-sql-warnings: "val"}
liquibase.sql.showSqlWarnings
LIQUIBASE_SQL_SHOW_SQL_WARNINGS
Boolean Specifies whether Liquibase logs should include Java SQLWarning messages. Available in 4.25.0+. Default: true. See sql-show-sql-warnings.
--strict
globalArgs: {strict: "val"}
liquibase.strict
LIQUIBASE_STRICT
Boolean If true, Liquibase enforces certain best practices and proactively looks for common errors. Default: false. See strict.
--support-property-escaping
globalArgs: {support-property-escaping: "val"}
liquibase.supportPropertyEscaping
LIQUIBASE_SUPPORT_PROPERTY_ESCAPING
Boolean If true, Liquibase supports escaping changelog parameters using a colon. Example: ${:user.name}. Default: false.
--supports-method-validation-level
globalArgs: {supports-method-validation-level: "val"}
liquibase.supportsMethodValidationLevel
LIQUIBASE_SUPPORTS_METHOD_VALIDATION_LEVEL
String Liquibase 4.29.0+. Controls the level of validation to check if a change's supports() method is properly implemented. Valid values are OFF, WARN, and FAIL. Default: WARN. See supports-method-validation-level.
--trim-load-data-file-header
globalArgs: {trim-load-data-file-header: "val"}
liquibase.trimLoadDataFileHeader
LIQUIBASE_TRIM_LOAD_DATA_FILE_HEADER
Boolean Liquibase 4.29.0+. Trims whitespace from CSV headers that you call with the loadData Change Type. Default: false. See trim-load-data-file-header.
--ui-service
globalArgs: {ui-service: "val"}
liquibase.uiService
LIQUIBASE_UI_SERVICE
String Specifies the default UI service logger used by Liquibase. Valid values are CONSOLE and LOGGER. The default value is CONSOLE. Default: CONSOLE. Available in Liquibase 4.25.0+. See ui-service.
--use-procedure-schema
globalArgs: {use-procedure-schema: "val"}
liquibase.useProcedureSchema
LIQUIBASE_USE_PROCEDURE_SCHEMA
Boolean If true, any createProcedure tags with a set schemaName will modify the procedure body with the given schema name. Default: true.
--validate-xml-changelog-files
globalArgs: {validate-xml-changelog-files: "val"}
liquibase.validateXmlChangelogFiles
LIQUIBASE_VALIDATE_XML_CHANGELOG_FILES
Boolean If true, will perform XSD validation of XML changelog files. When many XML changelog files are included, this validation may impact Liquibase performance. Default: true. See validate-xml-changelog-files.

DATABASECHANGELOGHISTORY table

For more information, see DATABASECHANGELOGHISTORY table and dbcl-history.

Parameter Typ Definition
--dbclhistory-capture-extensions
globalArgs: {dbclhistory-capture-extensions: "val"}
liquibase.dbclhistory.captureExtensions
LIQUIBASE_DBCLHISTORY_CAPTURE_EXTENSIONS
Boolean

If true, installed extensions are captured in the DATABASECHANGELOGHISTORY table. Liquibase 4.27.0+. Default: true. See --dbclhistory-capture-extensions.

--dbclhistory-capture-sql
globalArgs: {dbclhistory-capture-sql: "val"}
liquibase.dbclhistory.captureSql
LIQUIBASE_DBCLHISTORY_CAPTURE_SQL
Boolean

If true, SQL generated by commands is captured in the DATABASECHANGELOGHISTORY table. Liquibase 4.27.0+. Default: true. See --dbclhistory-capture-sql.

--dbclhistory-enabled
globalArgs: {dbclhistory-enabled: "val"}
liquibase.dbclhistory.enabled
LIQUIBASE_DBCLHISTORY_ENABLED
Boolean

Enables the DATABASECHANGELOGHISTORY table. This table includes records of rollbacks, dropAlls, and repeated runOnChange type activity, which is not available in the standard DATABASECHANGELOG table. Liquibase 4.27.0+. Default: false. See --dbclhistory-enabled.

--dbclhistory-severity
globalArgs: {dbclhistory-severity: "val"}
liquibase.dbclhistory.severity
LIQUIBASE_DBCLHISTORY_SEVERITY
String

The exit code for Liquibase to return if an exception is encountered while recording events to the DATABASECHANGELOGHISTORY table. Valid values are INFO (0), MINOR (1), MAJOR (2), CRITICAL (3), and BLOCKER (4), from least severe to most severe. Liquibase 4.27.0+. Default: 1. See --dbclhistory-severity.

Executors

For more information, see runWith.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--psql-args
globalArgs: {psql-args: "val"}
liquibase.psql.args
LIQUIBASE_PSQL_ARGS
String

Defines extra arguments to pass to the psql executable. For more information, see PSQL documentation.

Note: The delimiter for arguments is a space " ". Do not use a comma "," or semicolon ";".

--psql-keep-temp
globalArgs: {psql-keep-temp: "val"}
liquibase.psql.keep.temp
LIQUIBASE_PSQL_KEEP_TEMP
Boolean

Indicates whether or not to keep a temporary SQL file after the execution of PSQL. If true, the file is not deleted. Default: false.

--psql-keep-temp-name
globalArgs: {psql-keep-temp-name: "val"}
liquibase.psql.keep.temp.name
LIQUIBASE_PSQL_KEEP_TEMP_NAME
String

Indicates the name of a temporary SQL file after the execution of PSQL. If no file name is specified, a name is automatically generated.

--psql-keep-temp-path
globalArgs: {psql-keep-temp-path: "val"}
liquibase.psql.keep.temp.path
LIQUIBASE_PSQL_KEEP_TEMP_PATH
String

Specify the path in which to store the temporary files after the execution of PSQL. If not specified, the files will be stored in the system's temp directory.

--psql-log-file
globalArgs: {psql-log-file: "val"}
liquibase.psql.logFile
LIQUIBASE_PSQL_LOG_FILE
String

Log file for PSQL output.

--psql-path
globalArgs: {psql-path: "val"}
liquibase.psql.path
LIQUIBASE_PSQL_PATH
String

Path to psql executable. For example:

  • Linux: /usr/pgsql-15/bin/psql
  • Windows: C:\Program Files\PostgreSQL\15\bin\psql.exe
--psql-timeout
globalArgs: {psql-timeout: "val"}
liquibase.psql.timeout
LIQUIBASE_PSQL_TIMEOUT
Integer

Indicates seconds to wait for the psql timeout. -1 disables the timeout. 0 returns an error. Default: 1800 (30 minutes).

--sqlcmd-args
globalArgs: {sqlcmd-args: "val"}
liquibase.sqlcmd.args
LIQUIBASE_SQLCMD_ARGS
String

Defines extra arguments to pass to the sqlcmd executable. For more information, see sqlcmd Utility documentation.

Note: The delimiter for arguments is a space " ". Do not use a comma "," or semicolon ";".

--sqlcmd-catalog-name
globalArgs: {sqlcmd-catalog-name: "val"}
liquibase.sqlcmd.catalogName
LIQUIBASE_SQLCMD_CATALOG_NAME
String

Database to use when running SQLCMD.

--sqlcmd-keep-temp
globalArgs: {sqlcmd-keep-temp: "val"}
liquibase.sqlcmd.keep.temp
LIQUIBASE_SQLCMD_KEEP_TEMP
Boolean

Indicates whether or not to keep a temporary SQL file after the execution of SQLCMD. If true, the file is not deleted. Default: false.

--sqlcmd-keep-temp-name
globalArgs: {sqlcmd-keep-temp-name: "val"}
liquibase.sqlcmd.keep.temp.name
LIQUIBASE_SQLCMD_KEEP_TEMP_NAME
String

Indicates the name of a temporary SQL file after the execution of SQLCMD. If no file name is specified, a name is automatically generated.

--sqlcmd-keep-temp-overwrite
globalArgs: {sqlcmd-keep-temp-overwrite: "val"}
liquibase.sqlcmd.keep.temp.overwrite
LIQUIBASE_SQLCMD_KEEP_TEMP_OVERWRITE
Boolean

Overwrites any files in the specified directory with the same name. Default: true.

--sqlcmd-keep-temp-path
globalArgs: {sqlcmd-keep-temp-path: "val"}
liquibase.sqlcmd.keep.temp.path
LIQUIBASE_SQLCMD_KEEP_TEMP_PATH
String

Specify the path in which to store the temporary files after the execution of SQLCMD. If not specified, the files will be stored in the system's temp directory.

--sqlcmd-log-file
globalArgs: {sqlcmd-log-file: "val"}
liquibase.sqlcmd.logFile
LIQUIBASE_SQLCMD_LOG_FILE
String

Log file for SQLCMD output.

--sqlcmd-path
globalArgs: {sqlcmd-path: "val"}
liquibase.sqlcmd.path
LIQUIBASE_SQLCMD_PATH
String

Path to sqlcmd executable. For example:

  • Linux: /opt/mssql-tools/bin/sqlcmd
  • Windows: C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe
--sqlcmd-timeout
globalArgs: {sqlcmd-timeout: "val"}
liquibase.sqlcmd.timeout
LIQUIBASE_SQLCMD_TIMEOUT
Integer

Indicates seconds to wait for the sqlcmd timeout. -1 disables the timeout. 0 returns an error. Default: 1800 (30 minutes).

--sqlplus-args
globalArgs: {sqlplus-args: "val"}
liquibase.sqlplus.args
LIQUIBASE_SQLPLUS_ARGS
String

Defines extra arguments to pass to the sqlplus executable. For more information, see SQL Plus documentation.

Note: The delimiter for arguments is a space " ". Do not use a comma "," or semicolon ";".

--sqlplus-create-spool
globalArgs: {sqlplus-create-spool: "val"}
liquibase.sqlplus.createSpool
LIQUIBASE_SQLPLUS_CREATE_SPOOL
Boolean

If true, create an Oracle spool file. Default: true.

--sqlplus-keep-temp
globalArgs: {sqlplus-keep-temp: "val"}
liquibase.sqlplus.keep.temp
LIQUIBASE_SQLPLUS_KEEP_TEMP
Boolean

Indicates whether or not to keep a temporary SQL file after the execution of SQL Plus. If true, the file is not deleted. Default: false.

--sqlplus-keep-temp-name
globalArgs: {sqlplus-keep-temp-name: "val"}
liquibase.sqlplus.keep.temp.name
LIQUIBASE_SQLPLUS_KEEP_TEMP_NAME
String

Indicates the name of a temporary SQL file after the execution of SQL Plus. If no file name is specified, a name is automatically generated. In Oracle, if no file extension is specified, the file is saved as .lst.

--sqlplus-keep-temp-overwrite
globalArgs: {sqlplus-keep-temp-overwrite: "val"}
liquibase.sqlplus.keep.temp.overwrite
LIQUIBASE_SQLPLUS_KEEP_TEMP_OVERWRITE
Boolean

Overwrites any files in the specified directory with the same name. Default: true.

--sqlplus-keep-temp-path
globalArgs: {sqlplus-keep-temp-path: "val"}
liquibase.sqlplus.keep.temp.path
LIQUIBASE_SQLPLUS_KEEP_TEMP_PATH
String

Specify the path in which to store the temporary files after the execution of SQL Plus. If not specified, the files will be stored in the system's temp directory.

--sqlplus-password
globalArgs: {sqlplus-password: "val"}
liquibase.sqlplus.password
LIQUIBASE_SQLPLUS_PASSWORD
String

Liquibase 4.29.2+. Password to use with the native executor, such as the password for an account with SYSDBA privileges. Liquibase will attempt to use the password exactly as entered.

--sqlplus-path
globalArgs: {sqlplus-path: "val"}
liquibase.sqlplus.path
LIQUIBASE_SQLPLUS_PATH
String

Path to sqlplus executable. For example:

  • Linux: /opt/oracle/product/19.0.0/client/bin/sqlplus or /u01/app/oracle/product/19.0.0/dbhome_1/bin/sqlplus
  • Windows: C:\oracle\product\19.0.0\dbhome_1\bin\sqlplus.exe
--sqlplus-sqlerror
globalArgs: {sqlplus-sqlerror: "val"}
liquibase.sqlplus.sqlerror
LIQUIBASE_SQLPLUS_SQLERROR
String

Control the outcome when Liquibase returns a SQL error. The error clause is passed directly to Oracle. Default: WHENEVER SQLERROR EXIT FAILURE. Accepted values include:

  • WHENEVER SQLERROR EXIT FAILURE
  • WHENEVER SQLERROR EXIT ROLLBACK
  • WHENEVER SQLERROR EXIT ERROR
  • WHENEVER SQLERROR EXIT WARNING
  • WHENEVER SQLERROR EXIT SUCCESS
--sqlplus-timeout
globalArgs: {sqlplus-timeout: "val"}
liquibase.sqlplus.timeout
LIQUIBASE_SQLPLUS_TIMEOUT
Integer

Indicates seconds to wait for the sqlplus timeout. -1 disables the timeout. 0 returns an error. Default: 1800 (30 minutes).

--sqlplus-username
globalArgs: {sqlplus-username: "val"}
liquibase.sqlplus.username
LIQUIBASE_SQLPLUS_USERNAME
String

Liquibase 4.29.2+. Username to use with the native executor, such as account.username as sysdba to access Liquibase with an account that has SYSDBA privileges. Liquibase will attempt to use the name exactly as entered.

Operation Reports

For more information, see Operation Reports.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description Requirement
--reports-enabled
globalArgs: {reports-enabled: "val"}
liquibase.reports.enabled
LIQUIBASE_REPORTS_ENABLED
Boolean Enables or disables all reports at the global level. Overridden by --report-enabled at the command level. Default: false. Required (either this or --report-enabled)
--reports-name
globalArgs: {reports-name: "val"}
liquibase.reports.name
LIQUIBASE_REPORTS_NAME
String Specifies the name of the report file at the global level. Overridden by --report-name at the command level. By default, Liquibase generates a new report file labeled with a timestamp (user's local time). If you set a custom name, Liquibase overwrites the existing file every time you generate a new report. Default: report-<DD-Mon-YYYY-HHmmss>.html. Optional
--reports-path
globalArgs: {reports-path: "val"}
liquibase.reports.path
LIQUIBASE_REPORTS_PATH
String Specifies the file path to the report file at the global level. Overridden by --report-path at the command level. Default: ./ Optional

Structured Logging

For more information, see Structured Logging and Custom and Private Data in Structured Logs.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--custom-log-data-file
cmdArgs: {custom-log-data-file: "val"}
liquibase.customLogDataFile
LIQUIBASE_CUSTOM_LOG_DATA_FILE
String Specifies the file that contains the custom data that can be included or excluded from Structured Logs. Available in Liquibase 4.23.2+. See custom-log-data-file.
--custom-log-data-frequency
cmdArgs: {custom-log-data-frequency: "val"}
liquibase.customLogDataFrequency
LIQUIBASE_CUSTOM_LOG_DATA_FREQUENCY
String Specifies the frequency that custom log data will be included in Structured Logs. Valid values are: ONCE, REPEATED. Default: REPEATED. Available in Liquibase 4.24.0+. See custom-log-data-frequency.

Extensions

Amazon DynamoDB

For more information, see Liquibase Parameters for Amazon DynamoDB Pro and Using Liquibase with Amazon DynamoDB Pro.

Name (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--dynamodb-tracking-tables-billing-mode
globalArgs: {dynamodb-tracking-tables-billing-mode: "val"}
liquibase.dynamodb.trackingTables.billingMode
LIQUIBASE_DYNAMODB_TRACKING_TABLES_BILLING_MODE

Read more: --dynamodb-tracking-tables-billing-mode

String

Initial billing mode for Liquibase tracking tables (DBCL and DBCLL). This controls how you pay for database read/write operations and capacity. Valid values: PROVISIONED and PAY_PER_REQUEST. Default: PAY_PER_REQUEST. See also: BillingModeSummary.

Note: If you want to change the billing mode of the tracking tables after you create them, you must instead use the updateDynamoTable Change Type.

--dynamodb-tracking-tables-provisioned-throughput-read-capacity-units
globalArgs: {dynamodb-tracking-tables-provisioned-throughput-read-capacity-units: "val"}
liquibase.dynamodb.trackingTables.provisionedThroughput.readCapacityUnits
LIQUIBASE_DYNAMODB_TRACKING_TABLES_PROVISIONED_THROUGHPUT_READ_CAPACITY_UNITS

Read more: --dynamodb-tracking-tables-provisioned-throughput-read-capacity-units

Integer

Specifies how many readCapacityUnits to initially use for the PROVISIONED billing mode for Liquibase tracking tables (DBCL and DBCLL). Ignored for the PAY_PER_REQUEST billing mode. Default: 10. See also: Read/write capacity mode.

Note: If you want to change the provisioned throughput values of the tracking tables after you create them, you must instead use the updateDynamoTable or updateTableProvisionedThroughput Change Type.

 

--dynamodb-tracking-tables-provisioned-throughput-write-capacity-units
globalArgs: {dynamodb-tracking-tables-provisioned-throughput-write-capacity-units: "val"}
liquibase.dynamodb.trackingTables.provisionedThroughput.writeCapacityUnits
LIQUIBASE_DYNAMODB_TRACKING_TABLES_PROVISIONED_THROUGHPUT_WRITE_CAPACITY_UNITS

Read more: --dynamodb-tracking-tables-provisioned-throughput-write-capacity-units

Integer

Specifies how many writeCapacityUnits to initially use for the PROVISIONED billing mode for Liquibase tracking tables (DBCL and DBCLL). Ignored for the PAY_PER_REQUEST billing mode. Default: 10. See also: Read/write capacity mode.

Note: If you want to change the provisioned throughput values of the tracking tables after you create them, you must instead use the updateDynamoTable or updateTableProvisionedThroughput Change Type.

 

--dynamodb-waiters-enabled
globalArgs: {dynamodb-waiters-enabled: "val"}
liquibase.dynamodb.waiters.enabled
LIQUIBASE_DYNAMODB_WAITERS_ENABLED

Read more: --dynamodb-waiters-enabled

Boolean

Specifies whether to enable or disable the DynamoDbWaiter for all Liquibase DynamoDB operations. When true, Liquibase waits for DynamoDB operations in a changeset to be fully complete before moving onto the next changeset. When false, Liquibase moves onto the next changeset while the first one may still be in a pending state, potentially saving time. When false, Liquibase also suppresses all other --dynamodb-waiter-* parameters. Default: true. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

Warning: If you set this parameter to false, you risk unexpected behavior. You must ensure that any changesets you deploy do not try to access objects that are in a pending state.

--dynamodb-waiters-fail-on-timeout
globalArgs: {dynamodb-waiters-fail-on-timeout: "val"}
liquibase.dynamodb.waiters.failOnTimeout
LIQUIBASE_DYNAMODB_WAITERS_FAIL_ON_TIMEOUT

Read more: --dynamodb-waiters-fail-on-timeout

Boolean

Specifies whether Liquibase fails if the DynamoDbWaiter times out while attempting to verify whether a resource like a table in your DynamoDB database is in a valid state. If true, Liquibase returns 1 when the waiter times out. If false, Liquibase returns 0 when the waiter times out. Default: true. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiters-log-notification-enabled
globalArgs: {dynamodb-waiters-log-notification-enabled: "val"}
liquibase.dynamodb.waiters.log.notification.enabled
LIQUIBASE_DYNAMODB_WAITERS_LOG_NOTIFICATION_ENABLED

Read more: --dynamodb-waiters-log-notification-enabled

Boolean

Specifies whether Liquibase sends you periodic status notifications while the DynamoDbWaiter polls resources in your database. Default: true.

--dynamodb-waiters-log-notification-interval
globalArgs: {dynamodb-waiters-log-notification-interval: "val"}
liquibase.dynamodb.waiters.log.notification.interval
LIQUIBASE_DYNAMODB_WAITERS_LOG_NOTIFICATION_INTERVAL

Read more: --dynamodb-waiters-log-notification-interval

Integer

Specifies the interval in milliseconds for Liquibase to wait between sending status notifications while the DynamoDbWaiter polls resources in your database. Default: 4000.

--dynamodb-waiter-create-fixed-delay-backoff-strategy-duration
globalArgs: {dynamodb-waiter-create-fixed-delay-backoff-strategy-duration: "val"}
liquibase.dynamodb.waiter.create.fixedDelayBackoffStrategy.duration
LIQUIBASE_DYNAMODB_WAITER_CREATE_FIXED_DELAY_BACKOFF_STRATEGY_DURATION

Read more: --dynamodb-waiter-create-fixed-delay-backoff-strategy-duration

Integer

Number of seconds for the DynamoDbWaiter to wait before trying to poll your table again (between attempts). This interval is used between calls to verify that the table is created and operable. Default: 20. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-create-max-attempts
globalArgs: {dynamodb-waiter-create-max-attempts: "val"}
liquibase.dynamodb.waiter.create.maxAttempts
LIQUIBASE_DYNAMODB_WAITER_CREATE_MAX_ATTEMPTS

Read more: --dynamodb-waiter-create-max-attempts

Integer

Maximum number of attempts for the DynamoDbWaiter. The waiter repeatedly polls your table to see if it is created and operable. When the waiter exceeds this number of attempts, it enters a failure state. Default: 25. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-create-total-timeout
globalArgs: {dynamodb-waiter-create-total-timeout: "val"}
liquibase.dynamodb.waiter.create.totalTimeout
LIQUIBASE_DYNAMODB_WAITER_CREATE_TOTAL_TIMEOUT

Read more: --dynamodb-waiter-create-total-timeout

Integer

Total number of seconds for the DynamoDbWaiter to wait for the table to be created and operable. If the waiter sees that the table is in the correct state, the operation finishes and Liquibase moves onto the next changeset, no matter how much time has passed. If the waiter reaches the maximum timeout, Liquibase throws an error. Default: null (disabled). See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-delete-fixed-delay-backoff-strategy-duration
globalArgs: {dynamodb-waiter-delete-fixed-delay-backoff-strategy-duration: "val"}
liquibase.dynamodb.waiter.delete.fixedDelayBackoffStrategy.duration
LIQUIBASE_DYNAMODB_WAITER_DELETE_FIXED_DELAY_BACKOFF_STRATEGY_DURATION

Read more: --dynamodb-waiter-delete-fixed-delay-backoff-strategy-duration

Integer

Number of seconds for the DynamoDbWaiter to wait before trying to poll your table again (between attempts). This interval is used between calls to verify that the table is deleted. Default: 20. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-delete-max-attempts
globalArgs: {dynamodb-waiter-delete-max-attempts: "val"}
liquibase.dynamodb.waiter.delete.maxAttempts
LIQUIBASE_DYNAMODB_WAITER_DELETE_MAX_ATTEMPTS

Read more: --dynamodb-waiter-delete-max-attempts

Integer

Maximum number of attempts for the DynamoDbWaiter. The waiter repeatedly polls your table to see if it is deleted. When the waiter exceeds this number of attempts, it enters a failure state. Default: 25. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-delete-total-timeout
globalArgs: {dynamodb-waiter-delete-total-timeout: "val"}
liquibase.dynamodb.waiter.delete.totalTimeout
LIQUIBASE_DYNAMODB_WAITER_DELETE_TOTAL_TIMEOUT

Read more: --dynamodb-waiter-delete-total-timeout

Integer

Total number of seconds for the DynamoDbWaiter to wait for the table to be deleted. If the waiter sees that the table is in the correct state, the operation finishes and Liquibase moves onto the next changeset, no matter how much time has passed. If the waiter reaches the maximum timeout, Liquibase throws an error. Default: null (disabled). See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-update-fixed-delay-backoff-strategy-duration
globalArgs: {dynamodb-waiter-update-fixed-delay-backoff-strategy-duration: "val"}
liquibase.dynamodb.waiter.update.fixedDelayBackoffStrategyDuration
LIQUIBASE_DYNAMODB_WAITER_UPDATE_FIXED_DELAY_BACKOFF_STRATEGY_DURATION

Read more: --dynamodb-waiter-update-fixed-delay-backoff-strategy-duration

Integer

Number of seconds for the DynamoDbWaiter to wait before trying to poll your table again (between attempts). This interval is used between calls to verify that the table is updated and operable. Default: 20. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-update-max-attempts
globalArgs: {dynamodb-waiter-update-max-attempts: "val"}
liquibase.dynamodb.waiter.update.maxAttempts
LIQUIBASE_DYNAMODB_WAITER_UPDATE_MAX_ATTEMPTS

Read more: --dynamodb-waiter-update-max-attempts

Integer

Maximum number of attempts for the DynamoDbWaiter. The waiter repeatedly polls your table to see if it is updated and operable. When the waiter exceeds this number of attempts, it enters a failure state. Default: 25. See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

--dynamodb-waiter-update-total-timeout
globalArgs: {dynamodb-waiter-update-total-timeout: "val"}
liquibase.dynamodb.waiter.update.totalTimeout
LIQUIBASE_DYNAMODB_WAITER_UPDATE_TOTAL_TIMEOUT

Read more: --dynamodb-waiter-update-total-timeout

Integer

Total number of seconds for the DynamoDbWaiter to wait for the table to be updated and operable. If the waiter sees that the table is in the correct state, the operation finishes and Liquibase moves onto the next changeset, no matter how much time has passed. If the waiter reaches the maximum timeout, Liquibase throws an error. Default: null (disabled). See also: Poll for resource states in the AWS SDK for Java 2.x: Waiters.

MongoDB Pro

For more information, see Using Liquibase MongoDB Pro with MongoDB Platforms.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--adjust-tracking-tables-on-startup
globalArgs: {adjust-tracking-tables-on-startup: "val"}
liquibase.mongodb.adjustTrackingTablesOnStartup
LIQUIBASE_MONGODB_ADJUST_TRACKING_TABLES_ON_STARTUP
Boolean Enabling this property will validate History Change Log and Log Lock Collections on Startup and adjust if are not up to date with current release. Worth keeping it disabled and re-enable when upgraded to a new Liquibase version. Default: true.
--retry-writes
globalArgs: {retry-writes: "val"}
liquibase.mongodb.retryWrites
LIQUIBASE_MONGODB_RETRY_WRITES
Boolean Setting this property to false will add retryWrites=false to connection URL. This will permit usage on Mongo Versions not supporting retryWrites, like Amazon DocumentDB. Default: true.
--supports-validator
globalArgs: {supports-validator: "val"}
liquibase.mongodb.supportsValidator
LIQUIBASE_MONGODB_SUPPORTS_VALIDATOR
Boolean Disabling this property will let create the Tracking Collections without validators. This will permit usage on Mongo Versions not supporting Validators. Default: true.

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 (JAVA_OPTS, ENV_VAR) 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.

Deprecated

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--default-logger-level
globalArgs: {default-logger-level: "val"}
liquibase.defaultLoggerLevel
LIQUIBASE_DEFAULT_LOGGER_LEVEL
String [Deprecated] Specifies a default logging level. Default: INFO.
--filter-log-messages
globalArgs: {filter-log-messages: "val"}
liquibase.filterLogMessages
LIQUIBASE_FILTER_LOG_MESSAGES
Boolean [Deprecated] Defines whether Liquibase filters log messages for potentially insecure data. Default: true. See filter-log-messages.
--native-executor
globalArgs: {native-executors: "val"}
liquibase.nativeExecutor
LIQUIBASE_NATIVE_EXECUTOR
String [Deprecated] Name of a custom executor you can specify.

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.

Property substitution

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 -D<property.name>=<property.value>. On Windows, surround the property name in quotation marks if it contains a dot. For example: -D"property.name"=value.

Connection profile

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--changelog-file
cmdArgs: {changelog-file: "val"}
liquibase.command.changelogFile
LIQUIBASE_COMMAND_CHANGELOG_FILE
String Specifies the root changelog file to execute.
--driver
cmdArgs: {driver: "val"}
liquibase.command.driver
LIQUIBASE_COMMAND_DRIVER
String

The JDBC driver class

--driver-properties-file
cmdArgs: {driver-properties-file: "val"}
liquibase.command.driverPropertiesFile
LIQUIBASE_COMMAND_DRIVER_PROPERTIES_FILE
String

The JDBC driver properties file

--password
cmdArgs: {password: "val"}
liquibase.command.password
LIQUIBASE_COMMAND_PASSWORD
String

Password to connect to the target database.

Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro.

--reference-default-catalog-name
cmdArgs: {reference-default-catalog-name: "val"}
liquibase.command.referenceDefaultCatalogName
LIQUIBASE_COMMAND_REFERENCE_DEFAULT_CATALOG_NAME
String

The reference default catalog name to use for the database connection

--reference-default-schema-name
cmdArgs: {reference-default-schema-name: "val"}
liquibase.command.referenceDefaultSchemaName
LIQUIBASE_COMMAND_REFERENCE_DEFAULT_SCHEMA_NAME
String

The reference default schema name to use for the database connection

--reference-driver
cmdArgs: {reference-driver: "val"}
liquibase.command.referenceDriver
LIQUIBASE_COMMAND_REFERENCE_DRIVER
String

The JDBC driver class for the reference database

--reference-driver-properties-file
cmdArgs: {reference-driver-properties-file: "val"}
liquibase.command.referenceDriverPropertiesFile
LIQUIBASE_COMMAND_REFERENCE_DRIVER_PROPERTIES_FILE
String

The JDBC driver properties file for the reference database

--reference-password
cmdArgs: {reference-password: "val"}
liquibase.command.referencePassword
LIQUIBASE_COMMAND_REFERENCE_PASSWORD
String

The reference database password.

Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro.

--reference-schemas
cmdArgs: {reference-schemas: "val"}
liquibase.command.referenceSchemas
LIQUIBASE_COMMAND_REFERENCE_SCHEMAS
String

Schemas names on reference database to use in diff. This is a CSV list.

--reference-url
cmdArgs: {reference-url: "val"}
liquibase.command.referenceUrl
LIQUIBASE_COMMAND_REFERENCE_URL
String

The JDBC reference database connection URL

--reference-username
cmdArgs: {reference-username: "val"}
liquibase.command.referenceUsername
LIQUIBASE_COMMAND_REFERENCE_USERNAME
String

The reference database username.

Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro.

--url
cmdArgs: {url: "val"}
liquibase.command.url
LIQUIBASE_COMMAND_URL
String

The JDBC database connection URL. See Using JDBC URL in Liquibase.

--username
cmdArgs: {username: "val"}
liquibase.command.username
LIQUIBASE_COMMAND_USERNAME
String

Username to connect to the target database.

Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro.

init

For more information, see Init Commands.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--recursive
cmdArgs: {recursive: "val"}
liquibase.command.init.copy.recursive
LIQUIBASE_COMMAND_INIT_COPY_RECURSIVE
Boolean

Recursively copy files from the source directory. Default: false

--source
cmdArgs: {source: "val"}
liquibase.command.init.copy.source
LIQUIBASE_COMMAND_INIT_COPY_SOURCE
String

Source directory where the project files will be copied from. Default: .

--target
cmdArgs: {target: "val"}
liquibase.command.init.copy.target
LIQUIBASE_COMMAND_INIT_COPY_TARGET
String

Path to the directory where the project files will be created

--changelog-file
cmdArgs: {changelog-file: "val"}
liquibase.command.init.project.changelog-file
LIQUIBASE_COMMAND_INIT_PROJECT_CHANGELOG_FILE
String

Relative or fully qualified path to the changelog file. Default: example-changelog

--format
cmdArgs: {format: "val"}
liquibase.command.init.project.format
LIQUIBASE_COMMAND_INIT_PROJECT_FORMAT
String

Format of the project changelog file: sql|xml|json|yaml|yml. Default: sql

--keep-temp-files
cmdArgs: {keep-temp-files: "val"}
liquibase.command.init.project.keepTempFiles
LIQUIBASE_COMMAND_INIT_PROJECT_KEEP_TEMP_FILES
Boolean

For remote project locations, do not delete temporary project files. Default: false

--password
cmdArgs: {password: "val"}
liquibase.command.init.project.password
LIQUIBASE_COMMAND_INIT_PROJECT_PASSWORD
String

Password to use to connect to the database. Default: letmein

--project-defaults-file
cmdArgs: {project-defaults-file: "val"}
liquibase.command.init.project.projectDefaultsFile
LIQUIBASE_COMMAND_INIT_PROJECT_PROJECT_DEFAULTS_FILE
String

File with default Liquibase properties. Default: liquibase.properties

--project-dir
cmdArgs: {project-dir: "val"}
liquibase.command.init.project.projectDir
LIQUIBASE_COMMAND_INIT_PROJECT_PROJECT_DIR
String

An optional parameter used to specify the directory containing files (existing or to be auto-created) to be used with Liquibase. Default: ./

--project-guide
cmdArgs: {project-guide: "val"}
liquibase.command.init.project.projectGuide
LIQUIBASE_COMMAND_INIT_PROJECT_PROJECT_GUIDE
String

Parameter that turns on or turns off the CLI interactive mode. For example, if you want to set one parameter and have the rest as default ones, run the parameter and set --project-guide=off to not be asked about the rest of the settings: liquibase init project --changelog=mychangelog.sql --project-guide=off. Default: on

--url
cmdArgs: {url: "val"}
liquibase.command.init.project.url
LIQUIBASE_COMMAND_INIT_PROJECT_URL
String

The JDBC database connection URL. See Using JDBC URL in Liquibase. Default: jdbc:h2:tcp://localhost:9090/mem:dev

--username
cmdArgs: {username: "val"}
liquibase.command.init.project.username
LIQUIBASE_COMMAND_INIT_PROJECT_USERNAME
String

Username to connect to the database. Default: dbuser

--bind-address
cmdArgs: {bind-address: "val"}
liquibase.command.init.startH2.bindAddress
LIQUIBASE_COMMAND_INIT_START_H2_BIND_ADDRESS
String

Network address to bind to. Default: 127.0.0.1

--db-port
cmdArgs: {db-port: "val"}
liquibase.command.init.startH2.dbPort
LIQUIBASE_COMMAND_INIT_START_H2_DB_PORT
String

Port to run h2 database on. Default: 9090

--launch-browser
cmdArgs: {launch-browser: "val"}
liquibase.command.init.startH2.launchBrowser
LIQUIBASE_COMMAND_INIT_START_H2_LAUNCH_BROWSER
Boolean

Whether to open a browser to the database's web interface. Default: true

--password
cmdArgs: {password: "val"}
liquibase.command.init.startH2.password
LIQUIBASE_COMMAND_INIT_START_H2_PASSWORD
String

Password to use for created h2 user. Default: letmein

--username
cmdArgs: {username: "val"}
liquibase.command.init.startH2.username
LIQUIBASE_COMMAND_INIT_START_H2_USERNAME
String

Username to create in h2. Default: dbuser

--web-port
cmdArgs: {web-port: "val"}
liquibase.command.init.startH2.webPort
LIQUIBASE_COMMAND_INIT_START_H2_WEB_PORT
String

Port to run h2's web interface on. Default: 8080

Flow Files

For more information, see Liquibase Flow Files.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--flow-file
cmdArgs: {flow-file: "val"}
liquibase.command.flowFile
LIQUIBASE_COMMAND_FLOW_FILE
String

The path to the configuration YAML file which contains one or more "stages" of commands to be executed in a liquibase flow operation. Default: liquibase.flowfile.yaml.

--flow-file-strict-parsing
cmdArgs: {flow-file-strict-parsing: "val"}
liquibase.command.flowFileStrictParsing
LIQUIBASE_COMMAND_FLOW_FILE_STRICT_PARSING
Boolean

If true, parse flow file YAML to allow only Liquibase flow file-specific properties, indentations, and structures. Default: true.

--flow-shell-interpreter
cmdArgs: {flow-shell-interpreter: "val"}
liquibase.command.flowShellInterpreter
LIQUIBASE_COMMAND_FLOW_SHELL_INTERPRETER
String

The default interpreter used to execute shell commands. Examples include bash, sh, and cmd.

--flow-shell-keep-temp-files
cmdArgs: {flow-shell-keep-temp-files: "val"}
liquibase.command.flowShellKeepTempFiles
LIQUIBASE_COMMAND_FLOW_SHELL_KEEP_TEMP_FILES
Boolean

If true, do not delete temporary files created by the shell command execution. Default: false.

Policy checks

For more information, see Policy Checks.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--auto-enable-new-checks
cmdArgs: {auto-enable-new-checks: "val"}
liquibase.command.checks.<subcommand>.autoEnableNewChecks
LIQUIBASE_COMMAND_CHECKS_<subcommand>_AUTO_ENABLE_NEW_CHECKS
Boolean

Automatically enable new policy checks in liquibase.checks.conf file when they are available. Default: false.

--auto-update
cmdArgs: {auto-update: "val"}
liquibase.command.checks.<subcommand>.autoUpdate
LIQUIBASE_COMMAND_CHECKS_<subcommand>_AUTO_UPDATE
String

Allows automatic backup and updating of the liquibase.checks-settings.conf file when new policy checks are available. Valid values are ON and OFF. Default: OFF.

--cache-changelog-file-contents
cmdArgs: {cache-changelog-file-contents: "val"}
liquibase.command.checks.<subcommand>.cacheChangelogFileContents
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CACHE_CHANGELOG_FILE_CONTENTS
Boolean

If true, sqlFile Change Type contents are cached in memory to improve performance, at the cost of higher memory usage. To reduce memory usage, set this to false. Default: true

--changelog-file
cmdArgs: {changelog-file: "val"}
liquibase.command.checks.<subcommand>.changelogFile
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHANGELOG_FILE
String

The changelog file against which you execute checks when running liquibase checks run.

--changeset-filter
cmdArgs: {changeset-filter: "val"}
liquibase.command.checks.<subcommand>.changesetFilter
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHANGESET_FILTER
String

Specifies whether policy checks run on ALL changesets or only PENDING (undeployed) changesets. Only applies to checks with the "changelog" scope. Liquibase 4.26.0+. Default: ALL.

--check-name
cmdArgs: {check-name: "val"}
liquibase.command.checks.<subcommand>.checkName
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECK_NAME
String

The name of the check(s) you want to target. Comma-separated list of one or more enabled checks. Checks to exclude can be prefixed with the ! character. If no checks are specified, all enabled checks are targeted. For example: --check-name=shortname1,shortname2,!shortname3

--check-rollbacks
cmdArgs: {check-rollbacks: "val"}
liquibase.command.checks.<subcommand>.checkRollbacks
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECK_ROLLBACKS
String

Allow changeset's rollback code to be analyzed for compliance with currently enabled policy checks. Default: false

--check-status
cmdArgs: {check-status: "val"}
liquibase.command.checks.<subcommand>.checkStatus
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECK_STATUS
String

Only show the checks that are in the specified status. Valid values are ENABLED, DISABLED, and ALL. Default: ALL

--checks-output
cmdArgs: {checks-output: "val"}
liquibase.command.checks.<subcommand>.checksOutput
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECKS_OUTPUT
String

Specify which parts of the checks run output should be shown. Options:

  • all: show all sections
  • issues: show the triggered checks
  • issues0: show the issues with severity 0
  • issues1: show the issues with severity 1
  • issues2: show the issues with severity 2
  • issues3: show the issues with severity 3
  • issues4: show the issues with severity 4
  • validated: show the section that starts with "Changesets Validated"
  • checksrun: show the section that starts with "Checks run against each changeset"
  • sqlparserfails: show the section that starts with "Changeset SQL not parsed in..."
  • skippedchecks: show the section that starts with "Changelogs Checks Skipped Due to unsupported changeset..." (such as checks skipped due to version incompatibility)
  • nonapplicablechecks: show chained checks which cannot be evaluated due to their configurations conflicting (such as a chained check that evaluates TableColumnLimit && ObjectNameMustMatch, where TableColumnLimit only evaluates tables and ObjectNameMustMatch is configured to only evaluate indexes).

Default: all

--checks-packages
cmdArgs: {checks-packages: "val"}
liquibase.command.checks.<subcommand>.checksPackages
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECKS_PACKAGES
String

If using a checks packages file, optionally specify which packages should be run from the file as a comma-separated list.

--checks-scope
cmdArgs: {checks-scope: "val"}
liquibase.command.checks.<subcommand>.checksScope
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECKS_SCOPE
String

The Liquibase component to run checks against, which can be a comma-separated list. Valid values are changelog and database. Default: changelog. See checks-scope.

--checks-scripts-enabled
cmdArgs: {checks-scripts-enabled: "val"}
liquibase.command.checks.<subcommand>.checksScriptsEnabled
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECKS_SCRIPTS_ENABLED
Boolean

Allow execution of custom script checks. For more information, see Custom Policy Checks. Default: false

--checks-scripts-path
cmdArgs: {checks-scripts-path: "val"}
liquibase.command.checks.<subcommand>.checksScriptsPath
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECKS_SCRIPTS_PATH
String

Only allow custom scripts found in the specified directories to execute. If not set, Liquibase allows custom scripts from any location to execute. For more information, see Custom Policy Checks.

--checks-settings-file
cmdArgs: {checks-settings-file: "val"}
liquibase.command.checks.<subcommand>.checksSettingsFile
LIQUIBASE_COMMAND_CHECKS_<subcommand>_CHECKS_SETTINGS_FILE
String

Specifies the checks settings file to use with commands. Write the relative path of the settings file that you want to read from or modify. For more information, see Use the Checks Settings Configuration File.

--disable
cmdArgs: {disable: "val"}
liquibase.command.checks.<subcommand>.disable
LIQUIBASE_COMMAND_CHECKS_<subcommand>_DISABLE
Boolean

Disable all qualifying checks in the checks settings file. Default: true.

--enable
cmdArgs: {enable: "val"}
liquibase.command.checks.<subcommand>.enable
LIQUIBASE_COMMAND_CHECKS_<subcommand>_ENABLE
Boolean

Enable all qualifying checks in the checks settings file. Default: false.

--force
cmdArgs: {force: "val"}
liquibase.command.checks.<subcommand>.force
LIQUIBASE_COMMAND_CHECKS_<subcommand>_FORCE
Boolean

If true, Liquibase does not ask for confirmation when you run this command. Default: false.

--format
cmdArgs: {format: "val"}
liquibase.command.checks.<subcommand>.format
LIQUIBASE_COMMAND_CHECKS_<subcommand>_FORMAT
String

Sets the format of the check output to text or JSON. Valid values are TXT, JSON. Default: TXT. For more information, see Policy Checks JSON Object.

--package-contents
cmdArgs: {package-contents: "val"}
liquibase.command.checks.<subcommand>.packageContents
LIQUIBASE_COMMAND_CHECKS_<subcommand>_PACKAGE_CONTENTS
String

One or more comma-separated relative path(s) to the checks settings files (or to a directory of files) to be bundled into the checks package. If the value is a directory, all files will be added to the --package-name object, but not recursively.

--package-file
cmdArgs: {package-file: "val"}
liquibase.command.checks.<subcommand>.packageFile
LIQUIBASE_COMMAND_CHECKS_<subcommand>_PACKAGE_FILE
String

The relative or fully qualified path and filename of the YAML file to create. Default: liquibase.checks-package.yaml.

--package-name
cmdArgs: {package-name: "val"}
liquibase.command.checks.<subcommand>.packageName
LIQUIBASE_COMMAND_CHECKS_<subcommand>_PACKAGE_NAME
String

The name of the checks package object to be created inside the checks package YAML file.

--property-substitution-enabled
cmdArgs: {property-substitution-enabled: "val"}
liquibase.command.checks.<subcommand>.propertySubstitutionEnabled
LIQUIBASE_COMMAND_CHECKS_<subcommand>_PROPERTY_SUBSTITUTION_ENABLED
Boolean

If set to true, changesets are evaluated by checks run after property substitution. If set to false, changesets are evaluated by checks run before property substitution, meaning the names of the "property substitution tokens" are evaluated. Default: true. For more information, see property-substitution-enabled.

--schemas
cmdArgs: {schemas: "val"}
liquibase.command.checks.<subcommand>.schemas
LIQUIBASE_COMMAND_CHECKS_<subcommand>_SCHEMAS
String

The schemas to check when --checks-scope contains database.

--severity
cmdArgs: {severity: "val"}
liquibase.command.checks.<subcommand>.severity
LIQUIBASE_COMMAND_CHECKS_<subcommand>_SEVERITY
String

Set the severity to return a code of 0–4 when the check is triggered. Default: 0.

--show-cols
cmdArgs: {show-cols: "val"}
liquibase.command.checks.<subcommand>.showCols
LIQUIBASE_COMMAND_CHECKS_<subcommand>_SHOW_COLS
String

Only show the specified columns. Column options: id, checkname, type, priority, shortname, scope, enabled, severity, customization, description, and all. Specify multiple columns in a comma-separated list. Specify all to select all the columns. Default: shortname,scope,enabled,severity,customization,description

--sql-parser-fail-severity
cmdArgs: {sql-parser-fail-severity: "val"}
liquibase.command.checks.<subcommand>.sqlParserFailSeverity
LIQUIBASE_COMMAND_CHECKS_<subcommand>_SQL_PARSER_FAIL_SEVERITY
String

Specifies the severity value returned when a check fails due to a SQL parse error. Valid values are the following return codes:

  • 0 is INFO
  • 1 is MINOR
  • 2 is MAJOR
  • 3 is CRITICAL
  • 4 is BLOCKER

Default: severity of the executed check

--url
cmdArgs: {url: "val"}
liquibase.command.checks.<subcommand>.url
LIQUIBASE_COMMAND_CHECKS_<subcommand>_URL
String

The JDBC database connection URL. See Using JDBC URL in Liquibase.

Note: Some generic command parameters that work with policy check commands, like --default-catalog-name, are not listed in this table. They are listed elsewhere on this page.

Operation Reports

For more information, see Operation Reports.

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR) Type Description
--drift-severity
cmdArgs: {drift-severity: "val"}
liquibase.command.<cmdName>.driftSeverity
LIQUIBASE_COMMAND_<CMDNAME>_DRIFT_SEVERITY
String

Specifies the severity level of all error types in the drift report (changed, missing, or unexpected content). Valid values are INFO (0), MINOR (1), MAJOR (2), CRITICAL (3), and BLOCKER (4), from least severe to most severe. If both --drift-severity and one of the individual error type arguments are set, the individual error type arguments take priority. Default: INFO.

--drift-severity-changed
cmdArgs: {drift-severity-changed: "val"}
liquibase.command.<cmdName>.driftSeverityChanged
LIQUIBASE_COMMAND_<CMDNAME>_DRIFT_SEVERITY_CHANGED
String

Specifies the severity level of changed content in the drift report. Valid values are INFO (0), MINOR (1), MAJOR (2), CRITICAL (3), and BLOCKER (4), from least severe to most severe. Overrides the value of --drift-severity for changed content only. Default: INFO.

--drift-severity-missing
cmdArgs: {drift-severity-missing: "val"}
liquibase.command.<cmdName>.driftSeverityMissing
LIQUIBASE_COMMAND_<CMDNAME>_DRIFT_SEVERITY_MISSING
String

Specifies the severity level of missing content in the drift report. Valid values are INFO (0), MINOR (1), MAJOR (2), CRITICAL (3), and BLOCKER (4), from least severe to most severe. Overrides the value of --drift-severity for missing content only. Default: INFO.

--drift-severity-unexpected
cmdArgs: {drift-severity-unexpected: "val"}
liquibase.command.<cmdName>.driftSeverityUnexpected
LIQUIBASE_COMMAND_<CMDNAME>_DRIFT_SEVERITY_UNEXPECTED
String

Specifies the severity level of unexpected content in the drift report. Valid values are INFO (0), MINOR (1), MAJOR (2), CRITICAL (3), and BLOCKER (4), from least severe to most severe. Overrides the value of --drift-severity for unexpected content only. Default: INFO.

--open-report
cmdArgs: {open-report: "val"}
liquibase.command.<cmdName>.openReport
LIQUIBASE_COMMAND_<CMDNAME>_OPEN_REPORT
Boolean

If true, automatically opens the report in your default browser. Default: false.

Note: Prior to Liquibase 4.29.0, this parameter was called --open-report instead of --report-open.

--report-enabled
cmdArgs: {report-enabled: "val"}
liquibase.command.<cmdName>.reportEnabled
LIQUIBASE_COMMAND_<CMDNAME>_REPORT_ENABLED
Boolean

Enables a report at the command level. Overrides the global argument --reports-enabled. Default: false.

--report-name
cmdArgs: {report-name: "val"}
liquibase.command.<cmdName>.reportName
LIQUIBASE_COMMAND_<CMDNAME>_REPORT_NAME
String

Specifies the name of the report file at the command level. Overrides the global argument --reports-name. By default, Liquibase generates a new report file labeled with a timestamp (user's local time). If you set a custom name, Liquibase overwrites the existing file every time you generate a new report. Default: report-<DD-Mon-YYYY-HHmmss>.html.

--report-path
cmdArgs: {report-path: "val"}
liquibase.command.<cmdName>.reportPath
LIQUIBASE_COMMAND_<CMDNAME>_REPORT_PATH
String

Specifies the file path to the report file at the command level. Overrides the global argument --reports-path. Default: ./.

General

Syntax (--cli, {flow-file}, propertiesFile, ENV_VAR)test Type Description
--add-row
cmdArgs: {add-row: "val"}
liquibase.command.addRow
LIQUIBASE_COMMAND_ADD_ROW
Boolean

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: If you create a new DATABASECHANGELOG row for your tag but later roll back that tag, Liquibase also rolls back the row you created.

--change-exec-listener-class
cmdArgs: {change-exec-listener-class: "val"}
liquibase.command.changeExecListenerClass
LIQUIBASE_COMMAND_CHANGE_EXEC_LISTENER_CLASS
String Includes a fully-qualified class which specifies ChangeExecListener. See Implementing a Custom ChangeExecListener Class with Liquibase.
--change-exec-listener-properties-file
cmdArgs: {change-exec-listener-properties-file: "val"}
liquibase.command.changeExecListenerPropertiesFile
LIQUIBASE_COMMAND_CHANGE_EXEC_LISTENER_PROPERTIES_FILE
String Specifies the path to a properties file for ChangeExecListenerClass.
--changeset-author
cmdArgs: {changeset-author: "val"}
liquibase.command.changesetAuthor
LIQUIBASE_COMMAND_CHANGESET_AUTHOR
String

Author of the changeset. Available in Liquibase 4.25.0+. Cannot be used with --changeset-identifier.

--changeset-id
cmdArgs: {changeset-id: "val"}
liquibase.command.changesetId
LIQUIBASE_COMMAND_CHANGESET_ID
String

ID of the changeset. Available in Liquibase 4.25.0+. Cannot be used with --changeset-identifier.

--changeset-identifier
cmdArgs: {changeset-identifier: "val"}
liquibase.command.changesetIdentifier
LIQUIBASE_COMMAND_CHANGESET_IDENTIFIER
String

Tag defined as a number or a descriptive name that is unique to each changeset. Requires the following format: filepath::id::author. Specify as --changeset-identifier=value. Positional format <command> <value> deprecated in 4.4+.

In 4.25.0+, you can either specify --changeset-identifier in the filepath::id::author format or specify --changeset-author, --changeset-id, and --changeset-path individually. However, you cannot specify a changeset in both ways.

Only valid for the calculate-checksum command. For the update-one-changeset and rollback-one-changeset commands, use --changeset-id instead.

--changeset-path
cmdArgs: {changeset-path: "val"}
liquibase.command.changesetPath
LIQUIBASE_COMMAND_CHANGESET_PATH
String

Path of the changelog that contains the changeset. Available in Liquibase 4.25.0+. Cannot be used with --changeset-identifier.

--context-filter
cmdArgs: {context-filter: "val"}
liquibase.command.contextFilter
LIQUIBASE_COMMAND_CONTEXT_FILTER
String

Specifies the changeset contexts to match. Contexts are tags you can add to changesets to control which changesets are executed in any particular migration run.

Note: If you use Liquibase 4.23.0 or earlier, use the syntax --contexts instead of --context-filter.

--count
cmdArgs: {count: "val"}
liquibase.command.count
LIQUIBASE_COMMAND_COUNT
Integer Specifies the number of changes for which to generate SQL.
--data-output-directory
cmdArgs: {data-output-directory: "val"}
liquibase.command.dataOutputDirectory
LIQUIBASE_COMMAND_DATA_OUTPUT_DIRECTORY
String

Specifies a directory to send the data output of the command as a CSV file.

--date
cmdArgs: {date: "val"}
liquibase.command.date
LIQUIBASE_COMMAND_DATE
Datetime

The date and time your database rolls back to. The date format is YYYY-MM-DD HH:MM:SS or YYYY-MM-DD'T'HH:MM:SS. However, it is possible to indicate the date or time only. Specify as --date=myDate. Positional format <command> <date> deprecated in 4.4+.

--drop-dbclhistory
cmdArgs: {date: "val"}
liquibase.command.dropDbclhistory
LIQUIBASE_COMMAND_DROP_DBCLHISTORY
Boolean

If true, Liquibase drops the DATABASECHANGELOGHISTORY table along with other database objects owned by the user. Available in Liquibase 4.27.0+. Default: false.

--dbms
cmdArgs: {dbms: "val"}
liquibase.command.dbms
LIQUIBASE_COMMAND_DBMS
String

Specifies which database type a changeset is to be used for. See valid database type names on Liquibase Database Tutorials. The keywords all and none are also available.

--default-catalog-name
cmdArgs: {default-catalog-name: "val"}
liquibase.command.defaultCatalogName
LIQUIBASE_COMMAND_DEFAULT_CATALOG_NAME
String

Name of the default catalog to use for the database connection

--default-schema-name
cmdArgs: {default-schema-name: "val"}
liquibase.command.defaultSchemaName
LIQUIBASE_COMMAND_DEFAULT_SCHEMA_NAME
String

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.

Tip: In Liquibase v4.23.0+, camelCase for defaultSchemaName works successfully. If you are on an earlier version, camelCase may not work as expected.

Note: The syntax liquibase.command.defaultSchemaName is valid for v4.19.0+. For prior versions, use defaultSchemaName.

--diff-types
cmdArgs: {diff-types: "val"}
liquibase.command.diffTypes
LIQUIBASE_COMMAND_DIFF_TYPES
String

Specifies the types of objects to compare. Specify multiple values as a comma-separated list (without spaces). Valid values are: catalogs, checkconstraints, columns, data, databasepackage, databasepackagebody, foreignkeys, functions, indexes, primarykeys, sequences, storedprocedures, tables, triggers, uniqueconstraints, views.

If null, default types are columns, foreignkeys, indexes, primarykeys, tables, uniqueconstraints, views.

Note: The diff types checkconstraints, databasepackage, databasepackagebody, functions, storedprocedures, and triggers require a valid Liquibase Pro license key to use.

--drop-all-require-force
cmdArgs: {drop-all-require-force: "val"}
liquibase.command.dropAllrequireForce
LIQUIBASE_COMMAND_DROP_ALL_REQUIRE_FORCE
Boolean

Specifies whether Liquibase requires the user to specify the --force parameter to use the drop-all command. Liquibase 4.27.0+. Default: false.

--exclude-objects
cmdArgs: {exclude-objects: "val"}
liquibase.command.excludeObjects
LIQUIBASE_COMMAND_EXCLUDE_OBJECTS
String

Objects to exclude from diff

--force-on-partial-changes
cmdArgs: {force-on-partial-changes: "val"}
liquibase.command.forceOnPartialChanges
LIQUIBASE_COMMAND_FORCE_ON_PARTIAL_CHANGES
Boolean

Liquibase Pro only. Use this argument only if you are specifying --rollback-on-error=true to automatically roll back update operations containing errors. --force-on-partial-changes=true specifies whether Liquibase rolls back partially invalid changesets, such as a changeset containing two changes: one with an error and one without an error. This ensures that you can successfully roll back all changes if a deployment has an error, even if the changeset contains multiple changes. Available in Liquibase 4.25.0+. Default: false. See also: failOnError.

--include-catalog
cmdArgs: {include-catalog: "val"}
liquibase.command.includeCatalog
LIQUIBASE_COMMAND_INCLUDE_CATALOG
Boolean

If true, the catalog will be included in generated changesets. Default: false

--include-objects
cmdArgs: {include-objects: "val"}
liquibase.command.includeObjects
LIQUIBASE_COMMAND_INCLUDE_OBJECTS
String

Objects to include in diff

--include-schema
cmdArgs: {include-schema: "val"}
liquibase.command.includeSchema
LIQUIBASE_COMMAND_INCLUDE_SCHEMA
Boolean

If true, the schema will be included in generated changesets. Default: false

--include-tablespace
cmdArgs: {include-tablespace: "val"}
liquibase.command.includeTablespace
LIQUIBASE_COMMAND_INCLUDE_TABLESPACE
Boolean

Include the tablespace attribute in the changelog. Default: false

--labels
cmdArgs: {labels: "val"}
liquibase.command.labels
LIQUIBASE_COMMAND_LABELS
String

Specifies the changeset labels to match. Labels are tags you can add to changesets to control which changesets will be executed in any migration run.

--output-directory
cmdArgs: {output-directory: "val"}
liquibase.command.outputDirectory
LIQUIBASE_COMMAND_OUTPUT_DIRECTORY
String

The directory where the database documentation is generated. Specify as --output-directory=exampleDirectory. Positional format <command> <directory> deprecated in 4.4+.

--output-schemas
cmdArgs: {output-schemas: "val"}
liquibase.command.outputSchemas
LIQUIBASE_COMMAND_OUTPUT_SCHEMAS
String

Lets you replace the schemas in the output changelog. This is a CSV list. The parameter size must match --schemas. If you have three items names in --schemas, you must also have three items in --output-schemas.

Example: liquibase generate-changelog --schemas=a,b,c --output-schemas=d,e,f

--overwrite-output-file
cmdArgs: {overwrite-output-file: "val"}
liquibase.command.overwriteOutputFile
LIQUIBASE_COMMAND_OVERWRITE_OUTPUT_FILE
Boolean

Determines whether generate-changelog can overwrite an existing changelog, including one specified in --changelog-file. Default: false.

--reference-liquibase-catalog-name
cmdArgs: {reference-liquibase-catalog-name: "val"}
liquibase.command.referenceLiquibaseCatalogName
LIQUIBASE_COMMAND_REFERENCE_LIQUIBASE_CATALOG_NAME
String

Reference database catalog to use for Liquibase objects. Liquibase 4.24.0+.

--reference-liquibase-schema-name
cmdArgs: {reference-liquibase-schema-name: "val"}
liquibase.command.referenceLiquibaseSchemaName
LIQUIBASE_COMMAND_REFERENCE_LIQUIBASE_SCHEMA_NAME
String

Reference database schema to use for Liquibase objects. Liquibase 4.24.0+.

--replace-if-exists-types
cmdArgs: {replace-if-exists-types: "val"}
liquibase.command.replaceIfExistsTypes
LIQUIBASE_COMMAND_REPLACE_IF_EXISTS_TYPES
String

Specify Change Types you want to target. Liquibase sets replaceIfExists="true" on these Change Types: createFunction, createPackage, createPackageBody, createProcedure, createTrigger, and createView. Liquibase 4.26.0+. Default: <none>.

--rollback-on-error
cmdArgs: {rollback-on-error: "val"}
liquibase.command.rollbackOnError
LIQUIBASE_COMMAND_ROLLBACK_ON_ERROR
Boolean

Liquibase Pro only. If any changeset in a deployment fails, --rollback-on-error stops the update operation and rolls back all changesets you just deployed. Available in Liquibase 4.18.0+. Default: false.

Note: A changeset marked failOnError=false does not trigger as an error, so rollback-on-error will not occur. Additionally, if a changeset is not auto-rollback compliant or does not have a rollback script, then rollback-on-error does not occur for any changeset. Read more: failOnError.

--rollback-script
cmdArgs: {rollback-script: "val"}
liquibase.command.rollbackScript
LIQUIBASE_COMMAND_ROLLBACK_SCRIPT
String

The path to the script to use to perform the rollback. Only needed if the rollback is not already defined in the changelog, and if it is not a rollback statement that is automatically generated by Liquibase.

--run-on-change-types
cmdArgs: {run-on-change-types: "val"}
liquibase.command.runOnChangeTypes
LIQUIBASE_COMMAND_RUN_ON_CHANGE_TYPES
String

Specify Change Types you want to target. Liquibase sets runOnChange="true" on changesets containing solely these Change Types: createFunction, createPackage, createPackageBody, createProcedure, createTrigger, and createView. Liquibase 4.26.0+. Default: <none>.

--schemas
cmdArgs: {schemas: "val"}
liquibase.command.schemas
LIQUIBASE_COMMAND_SCHEMAS
String

Database schemas to include objects from in reporting

Schemas to include in diff

Schemas to include in drop

Specifies database schemas you want to include

Specifies schemas to be able to compare a multi-schema database to its snapshot

--show-summary
cmdArgs: {show-summary: "val"}
liquibase.command.showSummary
LIQUIBASE_COMMAND_SHOW_SUMMARY
String

Produces a summary list of any changesets skipped and why they were skipped. Valid values are OFF, SUMMARY, and VERBOSE. Default: SUMMARY. Available in Liquibase 4.24.0+.

Note: Liquibase may display one or multiple reasons for halting deployment of a changeset. If Liquibase cannot resolve a halting reason, it does not evaluate the changeset for other possible halting reasons.

--show-summary-output
cmdArgs: {show-summary-output: "val"}
liquibase.command.showSummaryOutput
LIQUIBASE_COMMAND_SHOW_SUMMARY_OUTPUT
String

Summary output to report update summary results. Valid values are LOG, CONSOLE, and ALL. If set to LOG, the --show-summary output is sent to the file specified in --log-file. If set to CONSOLE, the --show-summary output is sent to STDOUT. If set to ALL, the --show-summary output is sent to both locations. Default: ALL. Available in Liquibase 4.24.0+.

--skip-object-sorting
cmdArgs: {skip-object-sorting: "val"}
liquibase.command.skipObjectSorting
LIQUIBASE_COMMAND_SKIP_OBJECT_SORTING
Boolean

Liquibase 4.27.0+. Specifies how Liquibase sorts a list of objects in your database to generate a changelog. When true, Liquibase skips object sorting, so your objects are sorted according to the order returned by your database. This can be useful on databases that have a lot of packages or procedures that are linked to each other. When false, Liquibase sorts objects by dependency. This may avoid dependency errors. Default: false.

Note: If you set this parameter to true, Liquibase may create objects in the wrong order (such as a view on a table before the table itself), so you may have to manually reorganize the generated changelog file.

--snapshot-filters
cmdArgs: {snapshot-filters: "val"}
liquibase.command.snapshotFilters
LIQUIBASE_COMMAND_SNAPSHOT_FILTERS
String

Liquibase Pro 4.26.0+. Controls which types of objects Liquibase includes in the snapshot. Can improve command performance. Specify multiple values in a comma-separated list. Accepted values are: catalog, checkConstraint, column, databasePackage, databasePackageBody, foreignKey, function, index, primaryKey, schema, sequence, storedProcedure, synonym, table, trigger, uniqueConstraint, and view. Default: all types.

--snapshot-format
cmdArgs: {snapshot-format: "val"}
liquibase.command.snapshotFormat
LIQUIBASE_COMMAND_SNAPSHOT_FORMAT
String

Output format to use. Creates a file of the specified type that represents the current state of the database. Valid values: JSON, YAML, TXT. Default: TXT.

--sql
cmdArgs: {sql: "val"}
liquibase.command.sql
LIQUIBASE_COMMAND_SQL
String

The SQL string to execute

Note: Columns display in the same order they are specified in the argument. If no columns are specified (For example select * <table_name>), then the output will display columns in the same order they are in the database.

--sql-file
cmdArgs: {sql-file: "val"}
liquibase.command.sqlFile
LIQUIBASE_COMMAND_SQL_FILE
String

Specifies the file where SQL statements are stored

--tag
cmdArgs: {tag: "val"}
liquibase.command.tag
LIQUIBASE_COMMAND_TAG
String

The tag identifying which tagged changesets in the changelog to evaluate. Specify as --tag=myTag. Positional format <command> <tag> deprecated in 4.4+.

--tag-version
cmdArgs: {tag-version: "val"}
liquibase.command.tagVersion
LIQUIBASE_COMMAND_TAG_VERSION
String

Tag version to use for multiple occurrences of a tag. Valid values are NEWEST and OLDEST. If set to NEWEST, Liquibase rolls back changes up to the most recent instance of the tag. Any older instances of the tag remain in the DATABASECHANGELOG table. If set to OLDEST, Liquibase rolls back changes up to the first instance of the tag. Default: OLDEST

--verbose
cmdArgs: {verbose: "val"}
liquibase.command.verbose
LIQUIBASE_COMMAND_VERBOSE
Boolean

Specifies the detail level of the command's output. Default: false.