如何在某个弹簧轮廓中禁用飞行路线?

现在我有一个使用MsSQL服务器的弹簧启动应用程序。我们使用飞行路线进行迁移。

我想为测试添加一个额外的配置文件。我想从实体类生成表,而不是使用flyway。

我尝试在apprament.yaml中像这样写。

spring:
  profiles: test
  jpa:
      generate-ddl: true
      hibernate:
  datasource:
    url: jdbc:h2:mem:test_db;MODE=MSSQLServer
    username: sa
    password:

但无论如何,飞行路线开始


答案 1

仅供参考,对于任何来这里寻找此内容的人来说,Spring Boot 2.0的属性名称已更改

对于格式:application.properties

spring.flyway.enabled=false

对于格式:application.yml

spring:
    flyway:
        enabled: false

更新:若要在特定配置文件中禁用 flyway,可以将该属性放在特定于该配置文件的属性文件中。例如,如果您的配置文件称为“abc”,则可以将其放入 。查看Spring关于配置文件特定属性的文档,以更清楚地了解如何命名文件。通常,格式为 。application-abc.propertiesapplication-{profileName}.properties


答案 2

不适用于Spring Boot 2.X!正确答案在这里

继续阅读,如果您需要Spring Boot 1.X的答案。

有一个属性可用于 spring-boot,如果需要,可以禁用 flyway,这在默认情况下是正确的。flyway.enabled

您可以拥有特定于配置文件的配置,在本例中,应将其命名为 。如果配置文件处于活动状态,则此配置可以禁用飞行路线。您只需按如下方式声明它:application-test.yml

flyway:
  enabled: false

如果您在通用配置中指定测试配置文件,只需将其添加到其根目录即可。


推荐