从oracle到mysql的数据库转换后,liquibase校验和错误

时间:2018-06-21 14:15:44

标签: java mysql database oracle liquibase

我们刚刚将数据库从oracle转换为mysql。包括DATABASECHANGELOG在内的所有数据都已转换。

现在,当运行liquibase时,许多(不是全部)md5sum和数据库的不同。数据库中的数据来自在oracle中运行liquibase变更集,现在我们在mysql中运行。

我添加了几个变更集来更新md5sums,这使我进入有问题的下一个变更集。这似乎是绝对不得已的方法,我认为liquibase应该可以在不同的数据库驱动程序上工作,但也许不是这样。

例如,许多向数据库表添加列的变更集具有不同的md5sum,但是添加索引的变更集没有不同的md5sum。我的阅读建议Liquibase基于变更集的数据库不可知的表示来生成这些md5sum。是吗?

此时,重新运行所有liquibase并不可行。

1 个答案:

答案 0 :(得分:0)

尝试一下:

update databasechangelog set md5sum = null;

这将清除所有下次运行liquibase时将重新计算的md5sums。

根据我的阅读,liquibase应该只使用XML来计算md5sum,但显然还有其他事情发生。祝你好​​运!