Как установить метки пролетного пути через конфигурацию приложения micronaut?

Я пытаюсь запустить сценарий миграции в приложении Micronaut, настроенном с интеграцией Flyway. Приложение работает должным образом и применяет сценарии миграции без каких-либо заполнителей Flyway. Однако всякий раз, когда я добавляю заполнитель Flyway в сценарий миграции, приложение больше не запускается из-за исключения FlywayException:

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

Я попытался настроить заполнитель в application.yml с помощью свойства конфигурации заполнителей Micronaut Flyway (как описано здесь https://micronaut-projects.github.io/micronaut-flyway/latest/guide/index.html#io.micronaut.configuration.dbmigration.flyway.FlywayConfigurationProperties), но заполнитель просто не подбирается. Файл 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

person Miguel Ferreira    schedule 09.05.2019    source источник


Ответы (1)


При отладке запуска Flyway (особенно в PlaceholderReplacingLine) я заметил, что объект placeholderReplacer содержал заполнитель, где _ (подчеркивание) было заменено на - (тире). Изменение my_placeholder на my-placeholder в сценарии миграции устранило проблему.

person Miguel Ferreira    schedule 09.05.2019