updateTestingRollback 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.


updateTestingRollback is typically used when you want to test rollback functionality when deploying changesets in your changelog sequentially. Run updateTestingRollback only when all pending changelogs have been verified as ready to be deployed as you cannot specify changesets to exclude.

updateTestingRollback utilizes a multi-step operation and runs in sequential order:

  1. update changeset1; update changeset2; update changeset3
  2. rollback changeset3; rollback changeset2; rollback changeset1
  3. 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.

Running the updateTestingRollback command

To run the updateTestingRollback command, you can specify the driver, classpath, and URL in your liquibase.properties file. For more information, see Creating and configuring a liquibase.properties file. You can also specify these properties in your command line.

Then run the updateTestingRollback command:

liquibase –-changeLogFile=mainchangelog.xml updateTestingRollback

Note: Enter the name of the changelog you want to use in place of mainchangelog.xml. You can also add the changeLogFile to your liquibase.properties file.

updateTestingRollback global attributes

Attribute Definition Requirement


The root changelog



The JDBC database connection URL



The database username



The database password


Note: The username and password attributes are not required for connections and systems which use alternate means of authentication.