tkr*_*use 4 java checksum liquibase maven
在我的项目中,我只是尝试将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
Run Code Online (Sandbox Code Playgroud)
这适用于50个中的4个变更集,所有这些变更集都添加了索引,例如:
<createIndex indexName="idx_eventtype" tableName="events">
<column name="eventtype" type="varchar(64)"/>
</createIndex>
Run Code Online (Sandbox Code Playgroud)
虽然我可以在本地修复此问题,但手动修复所有正在运行的环境会非常痛苦.这是一个错误,还是有一些解决方法?
Jen*_*ens 11
您还可以使用该<validCheckSum>
子标记<changeSet>
将新校验和添加为有效校验和.
另外,查看有关CORE-1950错误的评论.您可以在两个liquibase版本上将日志级别设置为"debug",并查看是否可以找到校验和创建的日志输出的差异.
使用这样的子标签
<changeSet id="00000000000009" author="system">
<validCheckSum>7:19f99d93fcb9909c7749b7fc2dce1417</validCheckSum>
<preConditions onFail="MARK_RAN">
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM users</sqlCheck>
</preConditions>
<loadData encoding="UTF-8" file="users.csv" separator=";" tableName="users">
<column name="active" type="boolean" />
<column name="deleted" type="boolean" />
</loadData>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
您应该记住,validCheckSum标记的值是变更集的新校验和.
归档时间: |
|
查看次数: |
16399 次 |
最近记录: |