【问题标题】:How to configure Flyway in Spring Boot in code如何在代码中在 Spring Boot 中配置 Flyway
【发布时间】:2021-06-14 17:14:44
【问题描述】:

目前我有 Spring + Flyway + Gradle 设置。一切正常。 Spring 会自动运行 Flyway 迁移。现在我们需要在代码中为 Flyway 设置 2 个标志,以允许乱序迁移,并忽略丢失的迁移。我可以从文档中看到为此存在一个类 (FlywayProperties),但我找不到在我的代码中使用它的方法。

我是否需要创建一些 bean 来改变它或者我该怎么做?

【问题讨论】:

    标签: java spring spring-boot flyway


    【解决方案1】:

    这些属性可以直接在Spring Boot中配置application.propertiesapplication.yml,如下:

    application.properties:

    spring.flyway.ignore-missing-migrations = true
    spring.flyway.out-of-order = true
    

    application.yml:

    spring:
      flyway:
        ignore-missing-migrations: true
        out-of-order: true
    

    可在Spring Boot documentation 中找到受支持的 Flyway 属性的完整列表。

    【讨论】:

      【解决方案2】:

      当然还有其他可能更简单的方法,但我可以通过 SpringApplicationBuilder 提供一个 sn-p 我们如何做到这一点

      SpringApplicationBuilder builder = new SpringApplicationBuilder()
      Map<String, Object> flywayConfig = new HashMap<>();
      flywayConfig.put("spring.flyway.enabled", "true");
      flywayConfig.put("spring.flyway.locations", "classpath:flyway/oracle/migration");
      builder.properties(flywayConfig);
      

      点击此处直接配置 Flyway 对象:flyway outOfOrder is not working as expected

      【讨论】:

        猜你喜欢
        • 2017-10-11
        • 2018-09-09
        • 1970-01-01
        • 1970-01-01
        • 2016-07-26
        • 2021-12-06
        • 2014-07-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多