当前使用flyway来版本数据库脚本。我现在要确定数据库版本(版本10)的基准,以便在迁移新脚本时,它不会扫描/验证以后的先前脚本。
我尝试了以下语句:
mvn flyway:baseline -Dflyway.url=jdbc:mysql://localhost:3306/db -Dflyway.user=username -Dflyway.baselineVersion=10.0 -Dflyway.baselineDescription=First_Baseline
但是,当我尝试运行此语句时,出现以下错误:
[ERROR] Failed to execute goal org.flywaydb.pro:flyway-maven-plugin:5.0.7:baseline (default-cli) on project myProject: org.flywaydb.core.api.FlywayException: Unable to baseline schema history table "public"."flyway_schema_history" as it already contains migrations -> [Help 1]
有人能提供任何理由说明我无法继续对现有数据库进行基线设置(即使Flyway基线旨在将基线作为现有数据库的基线-查阅文档)吗?
任何建议都值得赞赏
谢谢。
答案 0 :(得分:0)
即使Flyway基准旨在将现有数据库作为基准-查阅文档
不一定就是这种方式。
Flyway基准旨在在不进行任何迁移的情况下为现有数据库建立基准(当您在具有existing database的项目中开始使用Flyway时)。
Flyway的Github中存在一个旧的相关问题-https://github.com/flyway/flyway/issues/470