在 Spring Boot 项目中使用 Flyway 自动建立数据库基线

Ant*_*gos 7 flyway spring-boot

我正在尝试将 Flyway 添加到 Spring Boot 项目中。按照说明,我创建了初始 DDL 脚本并将其提交给src/main/resources/db/migration/V1__base_version.sql.

如果我运行基线命令,这将创建flyway_schema_history表并将其中的基线版本设置为1。

虽然这对于我的本地数据库来说效果很好,但我希望这能够在其他开发人员的本地环境、UAT 环境等上自动发生。

我尝试将以下属性添加到 Spring Boot 配置中

spring:
  flyway:
    baseline-on-migrate: true
Run Code Online (Sandbox Code Playgroud)

我希望当 Spring Boot 应用程序启动时,如果该flyway_schema_history表不存在,它会执行与基线命令相同的操作,即创建该表并插入指定当前架构版本的行,但事实并非如此。

有没有办法在应用程序启动时自动为数据库建立基线?

小智 0

您需要运行migrate命令才能实际触发它。更多信息可以参考这里: https://documentation.red-gate.com/flyway/flyway-cli-and-api/configuration/parameters/flyway/baseline-on-migrate