Let’s say we have a changeset like this, in a changelog with a <span. And that describes the weird behavior perfectly: it’s like the filename-altering changeset’s effects aren’t visible to Liquibase.
Does anyone else have any other hacks they could think of to use here?
There isn’t a way to reload the databasechangelog data during the course of a liquibase execution. The initial state of the table is loaded when liquibase first starts, then is built on during the execution, but isn’t re-checked for performance reasons.
With 2.0, we added a logicalFilePath attribute on changeSet, which you can set to “a” in your case and liquibase will still see the changesset as a:aa:lnelson even though it is in b.
Otherwise, there is a changeLogExecuted precondition (possibly also new in 2.0, if not in your version you can use ) which can check if a:aa:lnelson was ran, and if it is use onFail=“MARK_RAN”