Merge branch '2.3.x'

Closes gh-23409
This commit is contained in:
Andy Wilkinson 2020-09-18 13:33:18 +01:00
commit 1c6e37b2ac
2 changed files with 21 additions and 4 deletions

View File

@ -145,10 +145,6 @@ public class FlywayAutoConfiguration {
String user = getProperty(properties::getUser, dataSourceProperties::determineUsername);
String password = getProperty(properties::getPassword, dataSourceProperties::determinePassword);
configuration.dataSource(url, user, password);
if (!CollectionUtils.isEmpty(properties.getInitSqls())) {
String initSql = StringUtils.collectionToDelimitedString(properties.getInitSqls(), "\n");
configuration.initSql(initSql);
}
}
else if (flywayDataSource != null) {
configuration.dataSource(flywayDataSource);
@ -210,6 +206,9 @@ public class FlywayAutoConfiguration {
map.from(properties.isSkipDefaultResolvers()).to(configuration::skipDefaultResolvers);
configureValidateMigrationNaming(configuration, properties.isValidateMigrationNaming());
map.from(properties.isValidateOnMigrate()).to(configuration::validateOnMigrate);
map.from(properties.getInitSqls()).whenNot(CollectionUtils::isEmpty)
.as((initSqls) -> StringUtils.collectionToDelimitedString(initSqls, "\n"))
.to(configuration::initSql);
// Pro properties
map.from(properties.getBatch()).whenNonNull().to(configuration::batch);
map.from(properties.getDryRunOutput()).whenNonNull().to(configuration::dryRunOutput);

View File

@ -502,6 +502,24 @@ class FlywayAutoConfigurationTests {
});
}
@Test
void initSqlsWithDataSource() {
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
.withPropertyValues("spring.flyway.init-sqls=SELECT 1").run((context) -> {
Flyway flyway = context.getBean(Flyway.class);
assertThat(flyway.getConfiguration().getInitSql()).isEqualTo("SELECT 1");
});
}
@Test
void initSqlsWithFlywayUrl() {
this.contextRunner.withPropertyValues("spring.flyway.url:jdbc:h2:mem:" + UUID.randomUUID(),
"spring.flyway.init-sqls=SELECT 1").run((context) -> {
Flyway flyway = context.getBean(Flyway.class);
assertThat(flyway.getConfiguration().getInitSql()).isEqualTo("SELECT 1");
});
}
@Configuration(proxyBeanMethods = false)
static class FlywayDataSourceConfiguration {