如何在某个弹簧配置文件中禁用飞路?

新手上路,请多包涵

现在我有一个使用 MsSQL 服务器的 spring-boot 应用程序。我们使用 flyway 进行迁移。

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

我试着在 application.yaml 中这样写

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

但飞路还是开始了

原文由 gstackoverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 422
2 个回答

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

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

如果需要,spring-boot 有一个属性可用于禁用 flyway.enabled 默认情况下为 true。

您可以有一个特定于配置文件的配置,在您的情况下,它应该命名为 application-test.yml 。如果配置文件处于活动状态,此配置可以禁用 flyway。您只需按如下方式声明它:

 flyway:
  enabled: false

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

原文由 Stanislav 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

对于 application.properties 格式:

 spring.flyway.enabled=false

对于 application.yml 格式:

 spring:
    flyway:
        enabled: false

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

原文由 Todd 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题