我遇到了一个问题与liquidbase。所以,我犯了一个错误,在我的sql命令中的一个更改集。现在,每当我尝试升级我的部署,升级失败,由于错误的校验和。所以我想到做validCheckSum: ANY解决方案,并遇到了这个问题,它不工作。所以我的问题是,我的语法是否有任何错误,以及我如何绕过校验和检查,或者什么是在liquidbase格式化sql中设置任何错误的正确语法。
这是我尝试过的
--changeset darth: build-1.3
--validCheckSum: build-1.3:ANY
,它不工作。
请帮忙!谢谢!
医生说:
特殊值"1:any"将匹配任何校验和
不知道为什么你放了"build-1.3:ANY"?
你还可以这样做:
- 在一个空的数据库上执行你的代码和最新的液相库更改
- 在
DATABASECHANGELOG
表中查找您已经更改的更改集id的行 - 复制
MD5SUM
值并将其粘贴到您的changeSet定义中作为validCheckSum
值
它应该在任何已经执行了更改集的数据库上运行而没有错误。
值得一提的是,不建议更改更改集:通过设置validCheckSum
值,您将拥有"old"已经执行的变更集"new"对该更改集的更改将被跳过。在空数据库中,您的"new";变更集将被执行,因此您可能会有模型不一致的情况。