首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flyway之后的flyway迁移错误:基线

Flyway之后的flyway迁移错误:基线
EN

Stack Overflow用户
提问于 2020-10-25 21:44:44
回答 1查看 192关注 0票数 0

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

代码语言:javascript
复制
mvn spring-boot:run

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

代码语言:javascript
复制
mvn flyway:migrate -Dflyway.url=jdbc:postgresql://localhost:5432/university -Dflyway.user=tester -Dflyway.password=test

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

代码语言:javascript
复制
 mvn flyway:baseline -Dflyway.url=jdbc:postgresql://localhost:5432/university -Dflyway.user=tester -Dflyway.password=test

在那之后:

代码语言:javascript
复制
mvn flyway:migrate -Dflyway.url=jdbc:postgresql://localhost:5432/university -Dflyway.user=tester -Dflyway.password=test

我发现错误:

代码语言:javascript
复制
[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

为什么会发生这种情况?如何修复?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-26 19:43:07

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

如果您只是迁移,跳过基线步骤,它应该工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64524395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档