【发布时间】:2018-08-01 19:05:18
【问题描述】:
这是我的应用工作流程。我有一个 springboot 应用程序在 jetty/tomcat 中运行。该应用程序与 MySql/MariaDB 的 flyway 数据库迁移功能集成。
应用程序在许多实例中使用 docker-compose 部署在服务器上(我们想要的副本数实例)。
问题是我的应用程序使用Flyway,当Docker启动我的两个服务时,它们在启动速度方面几乎相同,因此它们都尝试将相同的迁移脚本应用于数据库,并且越快成功越快另一个失败(因为它试图在表 schema_version 中插入与另一个相同的行)。
这类问题的最佳解决方案是什么?
错误日志:
app_webapp.2.5kv8hnbu5myt@sophea-linux |在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) app_webapp.2.5kv8hnbu5myt@sophea-linux |原因:org.flywaydb.core.api.FlywayException:验证失败。迁移的迁移校验和不匹配 1519209964095 app_webapp.2.5kv8hnbu5myt@sophea-linux | -> 应用于数据库:90265964 app_webapp.2.5kv8hnbu5myt@sophea-linux | -> 本地解决:522480574 app_webapp.2.5kv8hnbu5myt@sophea-linux |在 org.flywaydb.core.Flyway.doValidate(Flyway.java:11
【问题讨论】:
标签: spring-boot flyway