使用Spring Boot修复Flyway

当在Spring Boot" title="Spring Boot">Spring Boot项目中使用Flyway迁移失败时,我不太了解该怎么办。

我只需在我的中添加Flyway依赖项即可激活Flyway pom.xml。而且一切正常。启动Spring Boot应用程序时,将迁移我的数据库脚本。

但是我的一个脚本出错,上次迁移失败。现在,当我尝试迁移时,出现“迁移校验和不匹配”。通常,我会运行mvn

flyway:repair,但是由于我使用的是Spring Boot,因此不应该使用Flyway Maven插件。那我该怎么办?

回答:

有几种方法可以对数据库进行修复。我个人更喜欢简单的SQL语句。

SQL语句:

只需删除迁移失败的行即可。之后,您可以再次运行迁移。

直接运行飞道

您可以flyway repair在本地安装Flyway并在控制台中运行

使用Flyway Maven插件

将Flyway Maven插件添加到pom并运行mvn

flyway:repair。我认为这与Spring Boot概念并不矛盾。

扩展Spring Boot

Spring

Boot将调用Flyway.migrate()以执行数据库迁移。如果您想要更多控制,请提供@Bean实现FlywayMigrationStrategy

在中,FlywayMigrationStrategy您可以从flyway调用迁移或修复方法。更多信息,请参见《Spring

Boot参考指南》。

我认为FlywayMigrationStrategy应用程序中的位置不是修复数据库的正确位置。迁移失败是一个例外,应在应用程序外部处理。

以上是 使用Spring Boot修复Flyway 的全部内容, 来源链接: utcz.com/qa/421408.html

回到顶部