Spring flyway配置:运行sql时找不到占位符

时间:2018-03-27 05:59:23

标签: spring postgresql gradle flyway

我正在尝试运行gradlew flywayMigrate,并且在运行带有错误的定期迁移时应用程序崩溃

  

引起:org.flywaydb.core.api.FlywayException:没有为占位符表达式提供值:$ {dbLinkHost},$ {dbLinkPassword},$ {dbLinkSid},$ {dbLinkUser}。检查你的配置!

变量在application.yml

中配置如下
flyway:
  placeholders:
    dbLinkHost: ...
    dbLinkSid: ...
    dbLinkUser: ...
    dbLinkPassword: ...

我尝试在sql文件中以这样的方式访问它们:

'${dbLinkHost}'

有谁知道为什么application.yml中的声明似乎无法在此处访问?

1 个答案:

答案 0 :(得分:0)

由于Spring Boot Issue #9896 - Move Flyway configuration properties to spring.flyway并提交了f9e3163,从v2.0.0.M4开始,应用程序属性中的Flyway配置属性从spring.flyway开始。要配置Flyway占位符,例如:

spring:
  flyway:
    placeholders:
      dbLinkHost: ...
      dbLinkSid: ...
      dbLinkUser: ...
      dbLinkPassword: ...

在v2.0.0.M4之前的Spring Boot版本(例如最近发布的v1.5.14.RELEASE)中,Flyway配置属性以flyway开头。