Liquibase ist eine nette Sache, um die Evolution von Datenbankschemata zu verwalten. Nervig wird es, wenn man während der Entwicklung ein bereits ausgeführtes Changeset noch einmal ändern muss und infolge dessen die Checksummen nicht mehr stimmen:
liquibase.exception.ValidationFailedException: Validation Failed: 1 change sets check sum changelog.xml::changeSetId::author is now: 3:eeeedcadbc71ae018f46bd682e9132c7
Die Lösung ist recht einfach: Der betroffene Hashwert kann aus der Changelog-Tabelle von Liquibase entfernt werden:
update databasechangelog set md5sum = null where id = 'changeSetId';
Beim nächsten Update wird nun der korrekte Wert nachgetragen, ohne dass die zugehörigen Änderungsanweisungen erneut ausgeführt werden:
Updating null or out of date checksum on changeSet etc/db/changelog.xml::changeSetId::author::(Checksum: 3:...) to correct value
Hi,
noch einfacher gehts mit dem Liquibase-Kommando „clearCheckSums“, dann erledigt das Liquibase automatisch für dich.
Gruß,
Markus