我想将一个字段的数据类型从字符串更改到日期。所以我把桌子丢在了分局。然后修改清算库文件并运行应用程序。现在,它使用以下消息进行抱怨。
liquibase.exception.ValidationFailedException:验证失败:
在此之后,我恢复了清算库文件的更改,并运行了应用程序。这一次没有错误,但它没有创建表。
请帮我解决这个问题。
发布于 2018-09-21 18:31:46
我认为失败的验证是有关校验和的错误。当您修改已经执行的变更集并尝试再次执行它时,就会发生这种情况。
Liquibase将所有已执行的变更集保存在一个名为databasechangelog的表中,这样它就可以找出在执行过程中可以跳过哪些变更集。
若要再次执行更改集,请删除此表中的相应内容,然后再次运行Liquibase。
发布于 2018-09-21 19:14:22
当使用Liquibase时,您不应该(通常)修改Liquibase之外的数据库--主要的例外是如果您是一个开发人员,在您自己的私有开发数据库上工作。如果您处于这种状态(处理您自己的私有数据库),那么当您修改Liquibase之外的数据库(即删除一个表)时,您还需要删除DATABASECHANGELOG表中的行,该表对应于表create语句,这样当您重新运行liquibase update时,它将重新创建该表。
https://stackoverflow.com/questions/52448568
复制相似问题