changelog-file
Last updated: September 2, 2025
The Liquibase changelog file is a root file that contains a record of all your database changes (changesets). For more information on the changelog, please read the overview page here: Changelog.
Uses
The --changelog-file
parameter helps you create a changelog file using the generate-changelog command or diff-changelog command, apply changes to your database, and keep track of your database information.
Use the
generate-changelog
command and the--changelog-file
parameter if you want to capture the current state of a database. The command creates the changelog file with a sequence of changesets, which describes how to re-create your database. Then, you can apply those changesets to any number of databases.
Note: To generate a changelog file using Ant and Maven, run the Ant generateChangeLog task with the outputFile
parameter and the Maven generateChangeLog goal with the outputChangeLogFile
parameter.
Use the
diff-changelog
command with the--changelog-file
parameter to have the information on differences between the two databases you are comparing. The command creates the changelog file containing deployable changesets to synchronize multiple databases.
To create an empty changelog file, go to your Liquibase directory and create a new text file with the .xml
, .sql
, .yaml
, or .json
extension.
To apply changes related to a specific changelog file, run the changelog-file
parameter and the needed command. You can also set the parameter in the Liquibase properties file.
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.
Syntax
You can set this parameter in the following ways:
Option | Syntax |
Liquibase properties file (defaults file) | liquibase.changelogFile: <string> |
Global flow file argument (example) | stages: Default: actions: - type: liquibase command: update globalArgs: { changelog-file: "<string>" } |
Global CLI parameter | liquibase --changelog-file=<string> update --changelog-file=example-changelog.xml |
JVM system property (JAVA_OPTS environment variable) | Unix: JAVA_OPTS=-Dliquibase.changelogFile=<string> Windows: JAVA_OPTS=-D"liquibase.changelogFile"=<string> |
Liquibase environment variables | LIQUIBASE_COMMAND_CHANGELOG_FILE=<string> |