update
The update
command deploys any changes that are in the changelog file and that have not been deployed to your database yet.
Uses
The update
command is typically used to apply database changes that are specified in the changelog file to your database.
When you run the update
command, Liquibase sequentially reads changesets in the changelog file, then it compares the unique identifiers of id
, author
, and path to filename
to the values stored in the DATABASECHANGELOG table.
- If the unique identifiers do not exist, Liquibase will apply the changeset to the database.
- If the unique identifiers exist, the MD5Sum of the changeset is compared to the one in the database.
- If they are different, Liquibase will produce an error message that someone has changed it unexpectedly. However, if the status of the
runOnChange
orrunAlways
changeset attribute is set toTRUE
, Liquibase will re-apply the changeset.
Syntax
To run the update
command, specify the driver, classpath, and URL in the Liquibase properties file. For more information, see Create and Configure a liquibase.properties File. You can also specify these properties in your command line.
Then run the update
command:
liquibase update --changelog-file=example-changelog.xml
Global arguments
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.
Attribute | Definition | Requirement |
---|---|---|
--liquibase-schema-name
|
Specifies in what schema the Liquibase DATABASECHANGELOG and DATABASECHANGELOGLOCK tables will be managed |
Optional |
--liquibase-catalog-name
|
For MSSQL only: Specifies in what catalog the Liquibase DATABASECHANGELOG and DATABASECHANGELOGLOCK tables will be managed |
Optional |
Command arguments
Attributes | Definition | Requirement |
---|---|---|
--changelog-file
|
The root changelog |
Required |
--url
|
The JDBC database connection URL. See Using JDBC URL in Liquibase. |
Required |
--change-exec-listener-class
|
Fully-qualified class which specifies a ChangeExecListener |
Optional |
--change-exec-listener-properties-file
|
Path to a properties file for the |
Optional |
--contexts
|
Specifies the changeset contexts to match. Contexts are expressions you can add to changesets to control which changesets are executed in any particular migration run. |
Optional |
--default-catalog-name
|
Name of the default catalog to use for the database connection |
Optional |
--default-schema-name
|
Name of the default schema to use for the database connection |
Optional |
--driver
|
The JDBC driver class |
Optional |
--driver-properties-file
|
The JDBC driver properties file |
Optional |
--labels
|
Specifies the changeset labels to match. Labels are tags you can add to changesets to control which changeset will be executed in any migration run. |
Optional |
--password
|
Password to connect to the target database |
Optional |
--rollback-on-error=[boolean] ![]() |
Liquibase Pro only. If any changeset in a deployment fails, Note: A changeset marked |
Optional |
--username
|
Username to connect to the target database |
Optional |
Note: The username
and password
attributes are not required for connections and systems which use alternate means of authentication. Also, you can specify database credentials as part of the url
attribute.

Liquibase Version: 4.9.1
Liquibase Community 4.9.1 by Liquibase
Running Changeset: example-changelog.sql::1::your.name
Running Changeset: example-changelog.sql::2::your.name
Running Changeset: example-changelog.sql::3::other.dev
----------------------------------------------------------------------
View a report of this operation at https://hub.liquibase.com/r/PjrHucIgg3
* IMPORTANT: New users of Hub first need to Sign In to your account
with the one-time password sent to your email, which also serves as
your username.
----------------------------------------------------------------------
Liquibase command 'update' was executed successfully.
Related links
- Maven update
- Ant updateDatabase