【发布时间】:2019-09-13 03:59:38
【问题描述】:
我正在更新一些在我们的应用程序中落后的 maven 依赖项,并且在从 flyway-maven-plugin 4.2.0 升级时遇到问题,我们的 reset 和 migrate make 命令以我无法做到的方式失败'找不到任何有用的结果。
最初我尝试从 4.2.0 迁移到 5.2.4。当我无法解决我的错误时,我回退到 5.0.0 的单个版本。
根据 5.0.0 的发行说明,我已将 flyway.table=schema_version 添加到我的 flyway-$env.properties 文件中,并更新了我的 Makefile 命令以使用 -Dflyway.configFiles=
当我尝试迁移现有数据库 flyway 尝试应用所有脚本时,导致我们的初始数据库脚本违反约束。当无法锁定schema_version 表时,运行初始脚本后尝试迁移空数据库flyway 失败。
make 命令执行如下:
@mvn -pl db flyway:repair \
-Dflyway.url="jdbc:mysql://${FLYWAY_TARGET_HOST}:${FLYWAY_TARGET_PORT}/${FLYWAY_TARGET_DB}?useUnicode=true&characterEncoding=utf8&useSSL=false" \
-Dflyway.password=${FLYWAY_TARGET_DB_PW} \
-Dflyway.user=${FLYWAY_TARGET_DB_USER} \
-Dflyway.configFiles="src/main/resources/config/flyway/${FLYWAY_CONFIG_FILENAME}.properties"
@mvn -pl db flyway:migrate \
-Dflyway.url="jdbc:mysql://${FLYWAY_TARGET_HOST}:${FLYWAY_TARGET_PORT}/${FLYWAY_TARGET_DB}?useUnicode=true&characterEncoding=utf8&useSSL=false" \
-Dflyway.password=${FLYWAY_TARGET_DB_PW} \
-Dflyway.user=${FLYWAY_TARGET_DB_USER} \
-Dflyway.configFiles="src/main/resources/config/flyway/${FLYWAY_CONFIG_FILENAME}.properties"
在空数据库上运行时,提供以下输出:
[INFO] --- flyway-maven-plugin:5.0.0:migrate (default-cli) @ db ---
[INFO] Flyway Community Edition 5.0.0 by Boxfuse
[INFO] Database: jdbc:mysql://localhost:3306/db_test (MySQL 5.7)
[INFO] Successfully validated 46 migrations (execution time 00:00.029s)
[INFO] Creating Schema History table: `db_test`.`schema_version`
[WARNING] Could not find schema history table `db_test`.`schema_version`, but found `db_test`.`schema_version` instead. You are seeing this message because Flyway changed its default for flyway.table in version 5.0.0 to flyway_schema_history and you are still relying on the old default (schema_version). Set flyway.table=schema_version in your configuration to fix this. This fallback mechanism will be removed in Flyway 6.0.0.
[INFO] Current version of schema `db_test`: << Empty Schema >>
[INFO] Migrating schema `db_test` to version 1.0 - DbBaseline
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.799 s
[INFO] Finished at: 2019-04-23T18:12:57-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:5.0.0:migrate (default-cli) on project db: org.flywaydb.core.internal.exception.FlywaySqlException:
[ERROR] Unable to lock table `db_test`.`schema_version`
【问题讨论】:
标签: flyway