rollback-one-changeset
Last published July 28, 2025
Note: This is a Liquibase Pro feature, so you need a Liquibase Pro License Key to use it.
The rollback-one-changeset command reverts (rolls back) one non-sequential changeset made during a previous change to your database. It is only available for Liquibase Pro users.
Uses
The rollback-one-changeset
command is typically used when you want to undo a change made to your database and revert it to a previous state without affecting any other changes made to your database.
While the rollback
command reverts all changesets deployed sequentially to a specified point by using rollbackDate
, rollback-count
, or rollback <tag_name>
, the rollback-one-changeset
command allows you to target a specific changeset without impacting changesets that came before or after it.

The image above shows changesets A through I, with changeset I being the most recently deployed. As you can see, the rollback-one-changeset
command allows you to target changeset B and revert it to its previous state without impacting the others.
In Liquibase Pro 4.27.0 and later, you can automatically generate a database Rollback Report summarizing this command.
Impact
Like any targeted tool, using the rollback-one-changeset
command comes with risks of unintended consequences. Because of this, the command requires a --force
flag to indicate that you intend to run it.
Warning: Look for potential unintended consequences before using this command.
It is a best practice to run the rollback-one-changeset-sql command because it allows you to inspect the rollback SQL and search for any potential mistakes before you execute rollback-one-changeset
.
Syntax
Before running the rollback-one-changeset
command, gather the following information from your DATABASECHANGELOG table or by running the history command:
The author of the changeset you want to revert.
The ID of the changeset you want to revert.
The file path and name of the changeset you want to revert.
Then run the rollback-one-changeset
command, with your information:
liquibase rollback-one-changeset --changelog-file=example-changelog.xml --changeset-author="LiquibaseProUser" --changeset-id="createProc-proschema" --changeset-path=changelog.xml --force
For more command-specific help, type liquibase rollback-one-changeset --help
into the command prompt.
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.
Command parameters
Global parameters
Attribute | Definition | Requirement |
| Your Liquibase Pro license key | Required |
Command parameters
Attribute | Definition | Requirement |
| The root changelog | Required |
| The name of the author for the changeset. Supports | Required |
| The changeset ID from the changelog. | Required |
| The path to the changelog containing the changeset you want to target. For example, you may have a root changelog ( If If If you only have one changelog, then | Required |
| A required parameter that indicates you intend to use this feature. If you specify | Required |
| The JDBC database connection URL. | Required |
| Fully-qualified class that specifies a | Optional |
| Path to a properties file for the | Optional |
| Name of the default catalog to use for the database connection | Optional |
| Name of the default schema to use for the database connection. If Note: In the properties file and Note: In Liquibase 4.12.0 and later, you can use mixed-case schema names if you set | Optional |
| The JDBC driver class | Optional |
| The JDBC driver properties file | Optional |
| 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 |
| Enables a report at the command level. Overrides the global parameter | Optional |
| Specifies the name of the report file at the command level. Overrides the global parameter | Optional |
| Specifies the file path to the report file at the command level. Overrides the global parameter | Optional |
| Liquibase 4.31.0+. Specifies whether to hide exceptions (which may contain SQL) from the operation report at the command level. Overrides the global parameter If If | Optional |
| Liquibase 4.31.0+. Specifies whether to hide changeset SQL in operation reports at the command level. Overridden by the global parameter | Optional |
| The path to the script to use to perform the rollback. Only needed if the rollback is not already defined in the changelog, and if it is not a rollback statement that Liquibase automatically generates. | Optional * |
| Username to connect to the target database. Tip: It is best practice to store sensitive data in a Secrets Management tool with Liquibase Pro. | Optional |
Output
When successful, the rollback-one-changeset
command produces the following output:
Liquibase Version: 4.9.1
Liquibase Pro 4.9.1 by Liquibase licensed to Liquibase Pro Evaluation until Tue Jun 07 18:00:00 MDT 2022
WARNING! Your license will expire in 29 days!
To renew Liquibase Pro please contact sales@liquibase.com or go to https://www.liquibase.org/download
Rolling Back Changeset: example-changelog.sql::2::your.name
rollback-one-changeset executed for DBUSER@jdbc:h2:tcp://localhost:9090/mem:dev
Liquibase command 'rollback-one-changeset' was executed successfully.