2
Application.propertiesフライウェイ
TM_ESCALATION_QUALIFICATION=SHIFT_LEADER
Application.java
@Value("${TM_ESCALATION_QUALIFICATION}")
String escalationQualification;
@Bean
InitializingBean printConfigurations(DataSource datasource) {
return() -> {
Flyway flyway = new Flyway();
flyway.setDataSource(datasource);
flyway.getPlaceholders().put("ESCALATION_QUALIFICATION", escalationQualification);
flyway.migrate();
};
}
SQLファイル
insert into tm_qualification (ID, NAME, DELETABLE) values (sys_guid(), ${ESCALATION_QUALIFICATION}, 0);
上記はデフォルトの拡張子を持つファイルを使用すると動作しますが、ファイルを.sql拡張子にすると、以下のエラーが表示されます。
ウェブからのエラー
org.flywaydb.core.api.FlywayException: No value provided for placeholder expressions: ${ESCALATION_QUALIFICATION}. Check your configuration!
at org.flywaydb.core.internal.util.PlaceholderReplacer.checkForUnmatchedPlaceholderExpression(PlaceholderReplacer.java:101)
at org.flywaydb.core.internal.util.PlaceholderReplacer.replacePlaceholders(PlaceholderReplacer.java:78)
at org.flywaydb.core.internal.dbsupport.SqlScript.<init>(SqlScript.java:79)....