Я обновляю свой PostgreSQL с версии 9.6 до 12 и использую Liquibase 3.8.0 через Spring.
После обновления базы данных при запуске моего приложения я получил следующее исключение Liquibase для первый набор изменений:
Caused by: liquibase.exception.ValidationFailedException: Validation Failed:
1 change sets check sum
db.liq.xml::1555784288321-4::myuser was: 8:9df75f119833ded8765efcc910ffa071 but is now: 8:57040acff0d316c100c788531a84ae8b
Теперь текущий набор изменений установлен с тегом onValidationFail="MARK_RAN"
, поэтому он не должен давать сбой, но все же я получаю это исключение ..
<changeSet author="myuser" id="1555784288321-4" onValidationFail="MARK_RAN">
I Я могу решить эту исключительную ситуацию c, установив тег <validCheckSum>
, но я думаю, что я получу то же исключение для других наборов изменений. Единственное, что я сделал, - это обновил базу данных Postgres.
Теперь, использует ли liquibase функцию базы данных ha sh? Если да, то это может объяснить это поведение, но маловероятно, что иначе после каждого серьезного обновления или каждый раз, когда БД будет обновлять свою функцию ha sh, Liquibase будет вести себя так.