Configure Flyway with spring.flyway.script-placeholder-suffix

Fixes gh-28307
This commit is contained in:
Andy Wilkinson 2021-10-13 10:57:21 +01:00
parent 578ed9e08b
commit b0dfca7d92
2 changed files with 20 additions and 2 deletions

View File

@ -222,8 +222,8 @@ public class FlywayAutoConfiguration {
.to(configuration::initSql);
map.from(properties.getScriptPlaceholderPrefix())
.to((prefix) -> configuration.scriptPlaceholderPrefix(prefix));
map.from(properties.getScriptPlaceholderPrefix())
.to((suffix) -> configuration.scriptPlaceholderPrefix(suffix));
map.from(properties.getScriptPlaceholderSuffix())
.to((suffix) -> configuration.scriptPlaceholderSuffix(suffix));
// Pro properties
map.from(properties.getBatch()).to(configuration::batch);
map.from(properties.getDryRunOutput()).to(configuration::dryRunOutput);

View File

@ -665,6 +665,24 @@ class FlywayAutoConfigurationTests {
.run(validateFlywayTeamsPropertyOnly("baselineMigrationPrefix"));
}
@Test
void scriptPlaceholderPrefixIsCorrectlyMapped() {
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
.withPropertyValues("spring.flyway.script-placeholder-prefix=SPP")
.run((context) -> assertThat(
context.getBean(Flyway.class).getConfiguration().getScriptPlaceholderPrefix())
.isEqualTo("SPP"));
}
@Test
void scriptPlaceholderSuffixIsCorrectlyMapped() {
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
.withPropertyValues("spring.flyway.script-placeholder-suffix=SPS")
.run((context) -> assertThat(
context.getBean(Flyway.class).getConfiguration().getScriptPlaceholderSuffix())
.isEqualTo("SPS"));
}
private ContextConsumer<AssertableApplicationContext> validateFlywayTeamsPropertyOnly(String propertyName) {
return (context) -> {
assertThat(context).hasFailed();