java - flyway 3.1 迁移校验和不匹配。校验和的计算取决于平台

标签 java linux database flyway

我在 windows 和 ubuntu 客户端,开发平台上都有一个完全相同的项目源和 sql 脚本。 当我编译并尝试在我的 linux 服务器上部署该项目时,我仅针对我的 linux 版本包收到此异常。

引起:org.flywaydb.core.api.FlywayException:验证失败。发现已应用的迁移和可用的迁移之间存在差异:Migration Checksum mismatch for migration V2__xxx_module.sql: DB=-1434535307, Classpath=-282428834 在 org.flywaydb.core.Flyway.doValidate(Flyway.java:1020) 在 org.flywaydb.core.Flyway.access$300(Flyway.java:52) 在 org.flywaydb.core.Flyway$1.execute(Flyway.java:925) 在 org.flywaydb.core.Flyway$1.execute(Flyway.java:919) 在 org.flywaydb.core.Flyway.execute(Flyway.java:1320) 在 org.flywaydb.core.Flyway.migrate(Flyway.java:919)

似乎 3.1 版本也存在平台依赖性。 我真的需要同时使用这两个操作系统平台,那么有什么办法可以解决这个问题吗?

更新:

我看到还有很多人有同样的问题,所以这是我解决问题的方法。

我刚刚关闭验证并等待 flyway 4,他们说这个问题已在那里修复。

Flyway flyway = new Flyway(); 
...
flyway.setValidateOnMigrate(false);

最佳答案

此行为已在 Flyway 4.0 中修复。看 https://github.com/flyway/flyway/issues/253

关于java - flyway 3.1 迁移校验和不匹配。校验和的计算取决于平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043269/

相关文章:

mysql - 创建一个 "After Insert"触发器

mysql - 一个数据库 vs 多个数据库

java - 如何在 Windows 上使用 Java 在默认图像查看器中打开图像?

android - 如何在没有源码的情况下构建Android?

linux - 仅当文件是 .png 图像文件时,才使用 bash 命令删除目录中的所有文件

linux - 如何将文本/纯文本转换为文本/x.shellscript

php - 个人用户特定定制

java - 是否可以在 Fragment 中有一个 ListView - 或者在一个 Fragment 中有一个 ListFragment?

java - instanceOf 和 () 强制转换与 lambda 内的 Class.isInstance 和 Class.cast 方法引用进行比较

java - 如何将数字作为 4 位元素写入文件?