update-count
The update-count
command sequentially updates a specified number of changesets on your database.
Uses
The update-count
command is mainly used when you want to apply changes and update changesets sequentially, starting with the changesets from the top of the changelog file until the number specified is reached.
The image below shows four changesets: changeset a, changeset b, changeset c, and changeset d. As you can see, changeset a is already deployed on the database. So, running the command update-count --count=2
deploys changeset b and c without applying changeset d.
Additionally, the best practice is to run the update-count-sql
helper command because it allows you to inspect the update-count
SQL, so you can correct any issues that may arise before running the command.
Syntax
To run the update-count
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 them from the command line.
Then run the update-count
command:
liquibase update-count --count=2 --changelog-file=example-changelog.xml
Note: The --count=myCount
syntax was added in Liquibase 4.4. If you use an older version, specify your count as a positional argument: <command> myCount
.
Command 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 |
---|---|---|
--changelog-file * |
The root changelog |
Required |
--count
|
Integer specifying how many changes Liquibase applies the command to. Specify as |
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. If Tip: In Liquibase v4.23.0+, camelCase for Note: The syntax |
Optional |
--driver
|
The JDBC driver class |
Optional |
--driver-properties-file
|
The JDBC driver properties file |
Optional |
--label-filter
|
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. Tip: It is a best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. |
Optional |
--rollback-on-error=[boolean] ![]() |
Liquibase Pro only. If any changeset in a deployment fails, Note: A changeset marked |
Optional |
--show-summary
|
Produces a summary list of any changesets skipped and why they were skipped. Valid values are 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. |
Optional |
--username
|
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. |
Optional |
* Liquibase will check nested changelogs for definitions of the changesets to update.
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.
Output
Liquibase Version: 4.9.1
Liquibase Community 4.9.1 by Liquibase
Liquibase command 'update-count' was executed successfully.