欢迎大家来到IT世界,在知识的湖畔探索吧!
Liquibase真多很好用,为同步数据库操作提供很好的支持,我们项目也集成了,今天开发好一个项目,在本地启动的时候,发现第一条Changeset md5Sum不一致,导致启动失败,对比文件改动,这条Changeset没有改动啊,很奇怪,于是乎将提示的最新的Md5更新到数据库里的changeLog table里,让md5验证通过,本地成功启动。
等部署DEV环境的时候,发现又出现md5Sum不一致的错误,同一份文件,在Windows里和Linux两个环境部署跑出的MD5为什么不一样呢?把文件下载下来做深度比较,发现没有什么不一样,也尝试修改git autocrlf 来保持环境不一样的问题,也没有解决问题,真是百思不得其解,难道要把这个Changeset删掉吗?但这样做的话会丢掉数据库的变更记录,不是很好。
于是乎去官网看了官方的文档,找到一个很好的办法,可以在Liquibase的SQL文件里增加配置如下:
--validCheckSum: 8:xxxxxxxxxxxxxxx
--validCheckSum: 8:yyyyyyyyyyyyyyy
欢迎大家来到IT世界,在知识的湖畔探索吧!
让可能出现的MD5码都写上就可以了,这种方法适用在这条Changeset已经执行过了,但是无论如何看不出改动差异的情况下使用,大家可以尽量去查找不一致的地方,如果实在找不出来可以这样做,有时间再去研究下liquibase的源码看看实现的过程,可以真正去看为什么会导致此种情况。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/18629.html