Mysql 生产数据库上的Flyway-迁移校验和不匹配

Mysql 生产数据库上的Flyway-迁移校验和不匹配,mysql,maven,flyway,Mysql,Maven,Flyway,每次我更改DB结构中的某些内容时,我都会使用时间戳创建一个新的迁移文件,以便在干净的数据库中按顺序执行迁移命令(使用maven插件或命令行工具),它工作得非常好,但在生产数据库中,使用相同的DB结构,但添加了数据,我遇到以下错误: 无法执行目标组织。flywaydb:flyway maven插件:3.2.1:迁移 (主要)关于eee ejb项目:org.flywaydb.core.api.FlywayException: 验证失败。迁移1430224929的迁移校验和不匹配 [错误]->应用于数

每次我更改DB结构中的某些内容时,我都会使用时间戳创建一个新的迁移文件,以便在干净的数据库中按顺序执行迁移命令(使用maven插件或命令行工具),它工作得非常好,但在生产数据库中,使用相同的DB结构,但添加了数据,我遇到以下错误:

无法执行目标组织。flywaydb:flyway maven插件:3.2.1:迁移 (主要)关于eee ejb项目:org.flywaydb.core.api.FlywayException: 验证失败。迁移1430224929的迁移校验和不匹配 [错误]->应用于数据库:-1639634536[错误]->已解决 本地:-1412099238


如何在不断添加数据的生产数据库中使用flyway?

这与添加的数据无关。正在修改的是迁移脚本本身。需要检查的一个地方是Git CRLF规范化问题


更新:Flyway 4.0现在自动处理此问题。

最初运行的脚本现在已更改。如果您确定更改是您想要的,请运行

/跑道


这将接受更改,更新元数据表,您将不会收到错误。

问题在于迁移顺序,我正在使用时间戳,感谢您的回复。如果在本地数据库(而不是生产数据库)中处理相同的问题,是否有其他方法来解决此问题?从4.0开始,这是如何处理的?我在5.1.1上遇到了校验和不匹配错误,我认为唯一不同的是Git CRLF。它通过docker容器在本地机器上工作,但在构建服务器上失败。源历史记录没有对所讨论的文件进行更改。@Claudinei你知道了吗?我有一个prod迁移,并在下一个开发中添加了新文件,现在它将新文件显示为“忽略”。我怎么过来的?你找到解决办法了吗?