创建JPA表后进行Flyway迁移

时间:2018-09-27 11:39:16

标签: java spring-data-jpa spring-data database-migration flyway

我正在将flyway数据库迁移工具与spring boot jpa项目一起使用。当我运行服务器时,第一个flyway希望迁移sql,但是尚未创建表。在这种情况下,flyway返回的错误类似于

Caused by: org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateSqlException: Migration V1__countries_and_states.sql failed SQL State : 42S02 Error Code : 1146 Message : Table 'wallet.country' doesn't exist Location : db/migration/V1__countries_and_states.sql (/root/IdeaProjects/service/target/classes/db/migration/V1__countries_and_states.sql) Line : 1 我使用以下选项配置了application.properties文件:

  • spring.flyway.baseline-on-migrate = true
  • spring.flyway.enabled = true
  • spring.flyway.clean-on-validation-error = true
  • spring.flyway.init-on-migrate = true

我希望迁移成功完成。

2 个答案:

答案 0 :(得分:1)

您的第一次迁移必须创建表!

阅读本教程:https://flywaydb.org/getstarted/firststeps/api

答案 1 :(得分:0)

可以使用以下配置属性:flyway.out-of-order = true。它说,在创建休眠/ jpa /更新表之后,flyway才能工作。