Hi,
I’m not sure that I fully understand how the rollback feature is supposed to work.
Given a simple change log like:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
If I run:
sh ./liquibase <br> --defaultsFile=mydb.properties <br> --changeLogFile=testlog.xml <br> rollbackSQL testlog
I get an error (I get the same error using just rollbackSQL):
Liquibase Home: /home/brucea/liquibase
INFO 4/26/11 5:00 PM:liquibase: Successfully acquired change log lock
INFO 4/26/11 5:00 PM:liquibase: Reading from DATABASECHANGELOG
INFO 4/26/11 5:00 PM:liquibase: Successfully released change log lock
Liquibase Update Failed: Could not find tag ‘testlog’ in the database
SEVERE 4/26/11 5:00 PM:liquibase: Could not find tag ‘testlog’ in the database
liquibase.exception.RollbackFailedException: Could not find tag ‘testlog’ in the database
at liquibase.changelog.filter.AfterTagChangeSetFilter.(AfterTagChangeSetFilter.java:28)
at liquibase.Liquibase.rollback(Liquibase.java:292)
at liquibase.Liquibase.rollback(Liquibase.java:268)
at liquibase.integration.commandline.Main.doMigration(Main.java:716)
at liquibase.integration.commandline.Main.main(Main.java:116)
The changelog id “testlog” is clearly there in the DATABASECHANGELOG table.
I am also unclear why I should not to provide a rollback tag at all.
The implication is that a rollback tag is not the same thing as a changeset id.
So what is it?
Regards,
Bruce.