rollbackCount command sequentially reverts a specified number of changesets on your database.
rollbackCount command is used when you want to roll back changes sequentially, starting with the most recent changes and working backward until the value specified is reached.
The image below shows three changesets: changeset a, changeset b, and changeset c. Running the command
rollbackCount 3, rolls back the last three changesets.
So, if you have changeset a, b, c, and only changeset a is your target, you have to run the
rollbackCount 3 command to get rid of that specific changeset.
If you want to revert changeset a without having to roll back changeset b and changeset c as well, you can do it with the help of the rollbackOneChangeSet command.
The impacts of
The use of
rollbackCount comes with risk of removing all changes depending on the value specified. Also, there is an additional impact to the DATABASECHANGELOG table. When any change is rolled back, the row associated with that change is deleted from the DATABASECHANGELOG table.
Please look for unintended consequences before using this command.
The best practice is to run the rollbackCountSQL command helper command because it allows you to inspect the
rollbackCount SQL and search for any potential mistakes before you execute the
rollbackCount <value> command.
Before running the
rollbackCount command, you can run the history command to see all your previously executed changes.
rollbackCount works from the bottom of the list toward the top.
To run the
rollbackCount 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 in your command line.
Then run the
liquibase --changeLogFile=mychangelog.sql rollbackCount 1
Note: Enter the name of the changelog and value you want to use in place of
rollbackCount global attributes
||The root changelog||Required|
||The JDBC database connection URL||Required|
||The database username||Required|
||The database password||Required|
* Liquibase will check nested changelogs for definitions of the changesets to rollback
password attributes are not required for connections and systems which use alternate means of authentication.
rollbackCount command attributes
||The integer indicating the number of changes you want to roll back||Required|
Liquibase Pro 3.8.10-DAT-4387-SNAPSHOT by Datical licensed to Liquibase Pro Customer until Tue Nov 03 19:00:00 CST 2020 Rolling Back Changeset:postgres_lbpro_master_changelog.xml::4::functionForTrigger::Liquibase Pro User Liquibase: Rollback has been successful.