update-testing-rollback tests rollback support by deploying all pending changesets to the database, executes a rollback sequentially for the equal number of changesets that were deployed, and then runs the update again deploying all changesets to the database.
update-testing-rollback is typically used when you want to test rollback functionality when deploying changesets in your changelog sequentially. Run this command only when all pending changelogs have been verified as ready to be deployed as you cannot specify changesets to exclude.
update-testing-rollback utilizes a multi-step operation and runs in sequential order:
- update changeset1; update changeset2; update changeset3
- rollback changeset3; rollback changeset2; rollback changeset1
- update changeset1; update changeset2 update changeset3
Note: If you use the earlier versions of Liquibase, the order of operations may differ.
If any of the changesets fail rollback, changesets that come after the failed changesets will not be tested or updated. Any changesets that come before the failed changesets will be deployed to the database.
To run the
update-testing-rollback 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 properties from the command line.
Then run the
liquibase --changelog-file=mainchangelog.xml update-testing-rollback
Note: Enter the name of the changelog you want to use in place of
mainchangelog.xml. You can also add the
changelog-file to the Liquibase properties file.
update-testing-rollback global attributes
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.
The root changelog
The JDBC database connection URL
The database username
The database password
password attributes are not required for connections and systems which use alternate means of authentication.
When successful, the
update-testing-rollback command produces the following output:
Liquibase Version: 4.9.1 Liquibase Community 4.9.1 by Liquibase Liquibase command 'update-testing-rollback' was executed successfully.