【问题标题】:How to set flyway placeholders via micronaut application config?如何通过 micronaut 应用程序配置设置飞行路径占位符?
【发布时间】:2019-09-27 07:04:18
【问题描述】:

我正在尝试在配置了 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

【问题讨论】:

    标签: flyway micronaut


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 2011-12-20
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多