Flyway错误:migration checksum mismatch for migration

  开发了个系统,用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

  然后就可以了。这个命令修正了已升级脚本的检验信息。

猜你喜欢

转载自wallimn.iteye.com/blog/2393640