Commit 1c6e37b2 authored by Andy Wilkinson's avatar Andy Wilkinson

Merge branch '2.3.x'

Closes gh-23409
parents d2fae6e1 55bfef99
......@@ -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);
......
......@@ -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 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment