Configure comment prefixes
Closes gh-29095
This commit is contained in:
@@ -86,7 +86,17 @@ public class DataSourceScriptDatabaseInitializer extends AbstractScriptDatabaseI
|
||||
for (Resource resource : resources) {
|
||||
populator.addScript(resource);
|
||||
}
|
||||
customize(populator);
|
||||
DatabasePopulatorUtils.execute(populator, this.dataSource);
|
||||
}
|
||||
|
||||
/**
|
||||
* Customize the {@link ResourceDatabasePopulator}.
|
||||
* @param populator the configured database populator
|
||||
* @since 2.6.2
|
||||
*/
|
||||
protected void customize(ResourceDatabasePopulator populator) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.boot.jdbc.init;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
@@ -29,8 +30,11 @@ import org.springframework.boot.sql.init.AbstractScriptDatabaseInitializerTests;
|
||||
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
||||
import org.springframework.boot.testsupport.BuildOutput;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
|
||||
import org.springframework.jdbc.datasource.init.ScriptStatementFailedException;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
/**
|
||||
* Tests for {@link DataSourceScriptDatabaseInitializer}.
|
||||
@@ -61,6 +65,22 @@ class DataSourceScriptDatabaseInitializerTests
|
||||
assertThat(initializer.isEmbeddedDatabase()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenCustomizeIsOverriddenThenDatabasePopulatorIsConfiguredAccordingly() {
|
||||
DatabaseInitializationSettings settings = new DatabaseInitializationSettings();
|
||||
settings.setContinueOnError(true);
|
||||
settings.setDataLocations(Collections.singletonList("data.sql"));
|
||||
DataSourceScriptDatabaseInitializer initializer = new DataSourceScriptDatabaseInitializer(
|
||||
this.embeddedDataSource, settings) {
|
||||
@Override
|
||||
protected void customize(ResourceDatabasePopulator populator) {
|
||||
assertThat(populator).hasFieldOrPropertyWithValue("continueOnError", true);
|
||||
populator.setContinueOnError(false);
|
||||
}
|
||||
};
|
||||
assertThatThrownBy(initializer::initializeDatabase).isInstanceOf(ScriptStatementFailedException.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DataSourceScriptDatabaseInitializer createEmbeddedDatabaseInitializer(
|
||||
DatabaseInitializationSettings settings) {
|
||||
|
||||
Reference in New Issue
Block a user