Synchronized migrations

So lets say we have an application version 3.0, but now need to downgrade to version 2.9. We could have tagged the database in state 2.9 so we could roll back to it, but unfortunately 2.9 was released after 3.0 so there is no knowledge of it. One solution would be to look at 2.9 changelog and in reverse order of appliance rollback all the changesets that are not in 2.9 changelog file but are marked in the database, e.g. synchronize the changelog with the current database. Liquibase has all the information to do that.

This is useful when product installation sites are not in reach, critical error occurs and you need to back to stable branch version. It can be looked at as a special rollback or update mode.