开发了个系统,用Flyway管理数据库脚本。
导入一个老版本的数据库,结果启动时报了个错:
Flyway Validate failed:migration checksum mismatch for migration 1.1
->Applied to database:-115594156
->Resolved locally:1541394156
看提示信息,错误应该是后来修改了一个已升过级的老脚本的内容,导致Flyway对已升级脚本内容检验失败。
我尝试着去修改schema_version表中的checksum字段为正确的值,很奇怪,竟然没有效果,还报同样的错误。我怎么也没有想出来这是什么原因,真的很奇怪,不知那两个数值从什么地方出来??!!
网上查资料,有两种解决办法:
一、是我不可能采用的,就是将schema_version表中出错脚本及以后的所有记录都删掉,全部重新执行。这会造成已有的数据丢失、混乱。
二、是使用Flyway的修改命令修复。这个比较靠谱、可行。
过程如下:
1.下载Flyway的命令行工具。
2.修改配置文件conf/flyway.conf。主要是数据库的连接、驱动、用户名、密码等。
3.将脚本拷到sql目录中。
4.在DOS窗口中执行flyway repair
然后就可以了。这个命令修正了已升级脚本的检验信息。
Flyway错误:migration checksum mismatch for migration
猜你喜欢
转载自wallimn.iteye.com/blog/2393640
今日推荐
周排行