在我的项目中,我只是尝试将 liquibase 从 3.2.2 升级到 3.4.2(jar 和 maven 插件)。编辑:升级到 3.3.x 时相同。因此,现在启动应用程序会出现以下错误:
Caused by: liquibase.exception.ValidationFailedException: Validation Failed:
4 change sets check sum
src/main/resources/changelogs/xxx_add_indices_to_event_tables.xml::xxx-add_indices_to_event_tables::xxx is now: 7:0fc8f1faf484a59a96125f3e63431128
这适用于 50 个中的 4 个变更集,所有变更集都添加了索引,例如:
<createIndex indexName="idx_eventtype" tableName="events">
<column name="eventtype" type="varchar(64)"/>
</createIndex>
虽然我可以在本地修复此问题,但手动修复所有正在运行的环境将是一个巨大的痛苦。这是一个错误,还是有一些解决方法?
原文由 tkruse 发布,翻译遵循 CC BY-SA 4.0 许可协议
您还可以使用
<validCheckSum>
的子标签<changeSet>
将新校验和添加为有效校验和。另外,请查看关于 CORE-1950 错误的评论。您可以将两个 liquibase 版本的日志级别设置为“调试”,看看是否可以在校验和创建的日志输出中找到差异。
使用像这样的子标签
您应该记住,validCheckSum 标记的值是变更集的新校验和。