How to resume a failed changeSet?


I would like to have the ability to “resume” a failed changeset from the failed refactoring, and skip the already-ran factorings.

Is it possible?

BTW: Thanks for an amazing tool!

Eyal Yurman,


I don’t think that there is any way to accomplish this since Liquibase records progress at the changeset level.  As a general rule, developers in my organization try to make changesets small to avoid this type of problem.  Our general rule is to not put more than one DDL command in a single changeset.  Furthermore, is cases where a single changeset contains DDL and DML tags, the DDL must come first since there is an implied commit.

Same for our company. We try to put one change into one changeset.
I thought that I read about this on the “best practices” page but can’t find it anymore.

Yes, it’s due to a “problem” with databases auto-committing DDL and liquibase not checking the state of the database itself, but checking the changesets marked as ran. You will have to manually undo the part of the changeset that ran, then re-run it. Definitely stick to one DDL operation per changeSet unless you have a database with non-autocommitting DDL.