使用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