1

我遇到了 liquibase 的问题。所以,我在其中一个变更集中的 sql 命令中犯了一个错误。现在每当我尝试升级我的部署时,升级都会由于错误的校验和而失败。所以我想到了做 validCheckSum : ANY 解决方法,并且遇到了这个问题,它不起作用。所以我的问题是,我的语法是否有任何错误以及如何绕过校验和检查,或者在 liquibase 格式的 sql 中设置任何正确的语法是什么。

这是我尝试过的

--changeset darth: build-1.3
--validCheckSum: build-1.3:ANY

它不起作用。

请帮忙!谢谢!

4

1 回答 1

0

文档说:

特殊值“1:any”将匹配任何校验和

不知道你为什么放“build-1.3:ANY”?

您还可以做的是:

  • 使用最新的 liquibase 更改在空数据库上执行您的代码
  • DATABASECHANGELOG表中查找具有您一直在更改的变更集 ID 的行
  • 复制该MD5SUM值并将其粘贴到您的 changeSet 定义中,作为validCheckSum

它应该在任何已执行变更集且没有错误的数据库上运行。

值得一提的是,不建议更改更改集:通过设置validCheckSum值,您将执行“旧”更改集,并且将跳过对此更改集的“新”更改。在空数据库上,您的“新”变更集将被执行,因此您可能会遇到模型不一致。

于 2021-02-21T21:47:17.787 回答