飞行路线之后的飞行路线迁移错误:基线

时间:2020-10-25 13:44:44

标签: postgresql maven flyway

我在宠物项目中使用了Java + Spring + Maven + Flyway + Postgres。 这是db / migration中的两个sql文件。 当我第一次使用

运行应用程序时
mvn spring-boot:run

或在应用程序开始使用之前

mvn flyway:migrate -Dflyway.url=jdbc:postgresql://localhost:5432/university -Dflyway.user=tester -Dflyway.password=test

Db是正确创建的,没有任何错误,但是当我想首先使用Vp创建

 mvn flyway:baseline -Dflyway.url=jdbc:postgresql://localhost:5432/university -Dflyway.user=tester -Dflyway.password=test

之后:

mvn flyway:migrate -Dflyway.url=jdbc:postgresql://localhost:5432/university -Dflyway.user=tester -Dflyway.password=test

我发现错误:

[ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:6.4.4:migrate (default-cli) on project universityschedule: org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException: 
[ERROR] Migration V2__add_email_and_phone_to_person.sql failed
[ERROR] ------------------------------------------------------
[ERROR] SQL State  : 42P01
[ERROR] Error Code : 0
[ERROR] Message    : ERROR: relation "public.teacher" does not exist

为什么会发生?如何解决?

1 个答案:

答案 0 :(得分:1)

Flyway基线将与非空数据库一起使用。在这种情况下,假定第一次迁移表示代表将数据库创建到其当前状态所需的sql。因此,假设您的V1迁移不打算执行,而只是将其标记为baseline

如果您只是迁移,跳过基线步骤,它应该可以正常工作。