JHipster:从实体中删除字段:Liquibase不会从数据库中删除字段:验证失败错误

时间:2019-04-24 11:36:03

标签: jhipster liquibase

因此,我有一个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

1 个答案:

答案 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>