flyway 异常,检测到迁移失败
Posted
技术标签:
【中文标题】flyway 异常,检测到迁移失败【英文标题】:flyway exception, detected failed migration 【发布时间】:2017-12-11 18:13:38 【问题描述】:我有一个 Flyway 异常:
FlywayException: Detected failed migration to version 1.0
我在文档和论坛上进行了查找,但没有找到此异常的含义。 请有人可以告诉我这些异常的原因是什么! 谢谢
【问题讨论】:
看看这个修复***.com/questions/44681583/… 【参考方案1】:“FlywayException:检测到迁移到版本 1.0 失败”
这意味着您之前运行过 migrate 并且由于某种原因它在 1.0 失败。您需要确定上一次迁移在 1.0 中失败的原因,如果您还没有这样做,请解决它。
解决后,您需要运行 flyway repair
来告诉 flyway 无论失败的事情现在都已经过去了。
然后再次运行flyway migrate
。如果再次失败,您将返回第 1 步。
祝迁移顺利。
【讨论】:
感谢您的回答...我终于在我的代码中发现了一个基本的 sql 错误...我按照您所说的再次运行了 flyway...并且它有效:) 拯救了我的一天! “flyway repair”,我的理解是它从模式历史表中删除了“失败”。然而,部分失败的迁移可能已经运行。我必须找到错误行,注释掉上面的所有行,因为它们已经完成,然后再次运行“flyway migrate”,效果很好。 飞路修复如何进行?mvn flyway:repair
在控制台中应该可以。如果使用 intelliJ,你在 maven 插件中有这个 maven -> <service name> -> plugins -> flyway -> flyway:repair
【参考方案2】:
制作
select * from your_database_name.flyway_schema_history
你会得到这样的东西:
查询 flyway_schema_history 表
然后找到与失败的迁移对应的条目并将其删除,它应该可以工作。
【讨论】:
请注意,根据配置,此表可能有不同的名称以上是关于flyway 异常,检测到迁移失败的主要内容,如果未能解决你的问题,请参考以下文章