因此,我有一个Jhipster实体,正在从我已经调用Model的实体使用命令“ Jhipster实体模型”中删除字段 。它从前端和Java代码中删除了该字段,但是该列以及该字段中每一行的数据仍在数据库(基于h2磁盘)中。
在启动Spring应用程序时出现此错误
1 change sets check sum
config/liquibase/changelog/20190411130704_added_entity_Model.xml::20190411130704-1::jhipster was: 7:03313fa12946fa4bb3e16f838f8dc4d7 but is now: 7:aed492b04b5a800b82655ff2eabd0f65
liquibase.exception.ValidationFailedException: Validation Failed:
1 change sets check sum
config/liquibase/changelog/20190411130704_added_entity_Model.xml::20190411130704-1::jhipster was: 7:03313fa12946fa4bb3e16f838f8dc4d7 but is now: 7:aed492b04b5a800b82655ff2eabd0f65
答案 0 :(得分:0)
您有此错误,因为您的list_of_fails = list([[(1,2,3)],
[(1,2,5)],
[(1,4,3)]])
for sublist in list_of_fails:
if set((1, 2)).issubset(sublist[0]):
print("yes")
else:
print("no")
在上次执行liquibase后更改了,因此,校验和也已更改。
要解决此问题,请在您的changeSet
中添加<validCheckSum>
标签。
根据错误中的指定,新的校验和为<changeSet>
。
因此将7:aed492b04b5a800b82655ff2eabd0f65
添加到changeSet。
或添加<validCheckSum>7:aed492b04b5a800b82655ff2eabd0f65</validCheckSum>
,但这确实是一个坏习惯。
更改数据库模型时,不应更改现有的<validCheckSum>ANY</validCheckSum>
。您应该编写另一个changeSet
,使用适当的changeSet
和<preconditions>
删除该列。
例如:
<dropColumn>