更新包md5校验失败什么意思(md5校验失败是什么意思)


Liquibase真多很好用,为同步数据库操作提供很好的支持,我们项目也集成了,今天开发好一个项目,在本地启动的时候,发现第一条Changeset md5Sum不一致,导致启动失败,对比文件改动,这条Changeset没有改动啊,很奇怪,于是乎将提示的最新的Md5更新到数据库里的changeLog table里,让md5验证通过,本地成功启动。

等部署DEV环境的时候,发现又出现md5Sum不一致的错误,同一份文件,在Windows里和Linux两个环境部署跑出的MD5为什么不一样呢?把文件下载下来做深度比较,发现没有什么不一样,也尝试修改git autocrlf 来保持环境不一样的问题,也没有解决问题,真是百思不得其解,难道要把这个Changeset删掉吗?但这样做的话会丢掉数据库的变更记录,不是很好。

于是乎去官网看了官方的文档,找到一个很好的办法,可以在Liquibase的SQL文件里增加配置如下:

--validCheckSum: 8:xxxxxxxxxxxxxxx
--validCheckSum: 8:yyyyyyyyyyyyyyy

让可能出现的MD5码都写上就可以了,这种方法适用在这条Changeset已经执行过了,但是无论如何看不出改动差异的情况下使用,大家可以尽量去查找不一致的地方,如果实在找不出来可以这样做,有时间再去研究下liquibase的源码看看实现的过程,可以真正去看为什么会导致此种情况。


免责声明
    以上文章转载自互联网,文章内容仅供参考,不构成建议,也不代表百科学社赞同其观点。如有侵权请联系755934052@qq.com,提供原文链接地址以及资料原创证明,本站将会立即删除

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请通知我们,一经查实,本站将立刻删除。