Steps to reproduce:
- configure liquibase with at least one changeset
- call
liquibase = liquibaseFactory.createLiquibase(schemaName); liquibase.update("default")
with a schema that is up-to-date (i.e., has no changesets to apply) - create a second schema
- call
liquibase = liquibaseFactory.createLiquibase(schemaName2); liquibase.update("default")
Expected behavior:
liquibase updates the second schema with the configured changesets
Actual behavior:
liquibase does not update the second schema
The problem is that the first call to AbstractUpdateCommandStep.isUpToDateFastCheck is setting the entry for “default/()” in the upToDateFastCheck map to true (indicating no un-run changesets). That entry will never be changed, even for a different schema, so all subsequent calls to isUpToDateFastCheck will return true, and no changesets will be run.
This seems similar to the problem in v4.22.0 but I don’t know if it’s actually the same problem in a different guise.