如何通过micronaut应用程序配置设置飞行通道占位符?

时间:2019-05-09 12:30:35

标签: flyway micronaut

我正在尝试在配置有Flyway集成的Micronaut应用程序中运行迁移脚本。该应用程序将按预期运行,并在没有任何Flyway占位符的情况下应用迁移脚本。但是,每当我在迁移脚本中添加Flyway占位符时,由于FlywayException,应用程序将无法启动:

 org.flywaydb.core.api.FlywayException: No value provided for placeholder expressions: ${my_placeholder}.  Check your configuration!

我尝试使用Micronaut Flyway占位符配置属性(如此处https://micronaut-projects.github.io/micronaut-flyway/latest/guide/index.html#io.micronaut.configuration.dbmigration.flyway.FlywayConfigurationProperties所述)在application.yml中配置占位符,但是根本没有使用该占位符。 application.yml文件如下所示:

flyway:
  datasources:
    default:
      locations: classpath:migrations
      placeholders:
        my_placeholder: "some value"

我也曾尝试创建一个flyway.properties文件,该文件的占位符是根据此SO答案https://stackoverflow.com/a/9420671/2185719中描述的内容定义的,但这也不起作用

# flyway.properties
flyway.placeholders.my_placeholder=some value

1 个答案:

答案 0 :(得分:1)

在调试Flyway启动时(特别是在PlaceholderReplacingLine中),我注意到placeholderReplacer对象持有一个占位符,其中_(下划线)已被-代替(破折号) )。在迁移脚本中将my_placeholder更改为my-placeholder可以解决此问题。