Grails数据库迁移 - 更改以前的迁移

时间:2017-01-11 18:25:09

标签: grails database-migration liquibase

不幸的是,我刚刚注意到我之前的一次迁移中出现了一个问题,即我指定了baseTableSchemaName,现在无法使用其他名称创建数据库。 我不认为任何人对如何更改这些内容有任何建议,然后清除生产中的校验和。而以下;

grails dbm-clear-checksums

可以在开发中使用,对我来说,grails没有安装在生产中。

无论如何要自动化这个和最坏的情况,你能简单地更新databasechangelog表以将MD5SUM设置为null吗?

2 个答案:

答案 0 :(得分:0)

我不知道您问题的所有细节,尤其是问题是需要修复多少个数据库更改记录。但我可以分享我的经验,我通常使用我的应用程序(我使用grails 2.5.5)。 例如,让我们说,我们很少有迁移被编辑和校验和不匹配。我做了以下事情:

  1. 在开发环境中创建测试数据库,并将所有迁移与其上的latests版本同步。因此,在开发数据库中,您将具有正确的md5sum值。好处是,这些总和是与环境无关的,只依赖于迁移内容本身。
  2. 转到生产数据库并使用从开发数据库中获取的正确值手动更新记录。
  3. 迁移不应再出现校验和冲突。

答案 1 :(得分:0)

这是我采用的解决方案,它可能不像我希望的那样优雅,但可能会帮助处于类似情况的其他人。

只需更新所有databasechangelog记录并设置md5sum = null。在下次数据库迁移更新时计算新的校验和。