FlywayException:Validate failed:Migration checksum mismatch
2016-11-28 12:44
856 查看
问题描述:项目数据迁移,使用到Flyway,但是,在项目运行过程中经常出现如下问题
那么这段话表示什么意思呢?
看这句话:
2
3
Flyway中的checksum值应当是-351684334,但是实际上运行的值是37561532,而且这个错误是在运行SQL Script 1.15.0出现的!
那么出现这个问题的原因是什么呢?
这里涉及到flyway的一些基本常识,flyway 官方文档:https://flywaydb.org/documentation/
常识1):项目每次执行,都会调用数据库,会先运行SQL Script 要使用到Flyway,但是flyway查询数据时,会判断数据库的数据结构或者数据什么的是否改变,判断标准就是checksum。
如图所示:在1.15被执行之前,执行的版本是1.14,也是初始化,但是在项目中的SQLScript更新到1.15版本后,项目开始运行的话,会先执行1.15,如果1.15没有执行即第二行没有增加的话,那么,会执行1.15版本,然后会有个checksum,如果检测到有1.15版本的话,那么将会检测自己的checksum后数据库里面的checksum是否相等,如果相等,那么就不会报错,但是,如果不相等的话,就会报出上面的异常;如果没有1.15版本的话,就会成功进行数据操作,最后生成1.15的记录。
常识2)Github管理项目,由于项目开发不是一个人,运行项目的版本可能不相同,但是数据库只有一个,每个项目运行都会用到flyway,进行数据操作。
总结:Github下,运行的版本不一样,有的使用的Sql Script 版本是1.14,但是有的是1.15,如果版本不进行及时更新的话,就会出现错误。
如何解决这个问题:
将上面数据表格中的对应的数据元删掉,然后运行最新的版本。
那么这段话表示什么意思呢?
看这句话:
Caused by:ori.flywaydb.core.api.FlywayException:Validate failed:migration checksum mismatch for migration 1.15.0 ->Applied to database: 37561532 ->Resolved locally : -3516843341
2
3
Flyway中的checksum值应当是-351684334,但是实际上运行的值是37561532,而且这个错误是在运行SQL Script 1.15.0出现的!
那么出现这个问题的原因是什么呢?
这里涉及到flyway的一些基本常识,flyway 官方文档:https://flywaydb.org/documentation/
常识1):项目每次执行,都会调用数据库,会先运行SQL Script 要使用到Flyway,但是flyway查询数据时,会判断数据库的数据结构或者数据什么的是否改变,判断标准就是checksum。
如图所示:在1.15被执行之前,执行的版本是1.14,也是初始化,但是在项目中的SQLScript更新到1.15版本后,项目开始运行的话,会先执行1.15,如果1.15没有执行即第二行没有增加的话,那么,会执行1.15版本,然后会有个checksum,如果检测到有1.15版本的话,那么将会检测自己的checksum后数据库里面的checksum是否相等,如果相等,那么就不会报错,但是,如果不相等的话,就会报出上面的异常;如果没有1.15版本的话,就会成功进行数据操作,最后生成1.15的记录。
常识2)Github管理项目,由于项目开发不是一个人,运行项目的版本可能不相同,但是数据库只有一个,每个项目运行都会用到flyway,进行数据操作。
总结:Github下,运行的版本不一样,有的使用的Sql Script 版本是1.14,但是有的是1.15,如果版本不进行及时更新的话,就会出现错误。
如何解决这个问题:
将上面数据表格中的对应的数据元删掉,然后运行最新的版本。
相关文章推荐
- FlywayException:Validate failed:Migration checksum mismatch
- FlywayException:Validate failed:Migration checksum mismatch
- Flyway Validate failed:migration checksum mismatch for migration 1.0.0003
- Flyway Validate failed:migration checksum mismatch for migration 1.0.0003
- 解决SVN提交失败 svn: Commit failed (details follow): A checksum mismatch occurred svn: /xxx.java
- How To Fix “W: Failed to fetch gzip:/var/lib/apt/lists/partial/… Hash Sum mismatch” Error
- 解决 Eclipse使用SVN插件提交代码报错 Base checksum mismatch
- svn: Checksum mismatch while updating 'D:\workspace\demo\test\.svn\text-base\test.php.svn-base'
- checksum validation failed
- [SVN]How-to recover from checksum mismatch errors in SVN
- Mac下运行svn update报错"Checksum mismatch while updating"
- svn: Checksum mismatch while updating: 'root/yourProject/someFolder/fileUnabletoUpdate'; expected: '4513454...', actual:'3245345
- svn:Checksum mismatch while updating
- Ubuntu更新出错:Failed to fetch Hash Sum mismatch
- svn更新和提交项目报错: E200014: Checksum mismatch for
- 【magento2命令行安装 WINDOWS】[UnexpectedValueException] The checksum verification of the file failed (down
- svn Checksum mismatch ………… 问题
- checksum validation failed
- SVN checksum mismatch
- svn: Checksum mismatch for