Commit 6ab2df56 authored by Phillip Webb's avatar Phillip Webb

Order DataSourceScriptDatabaseInitializer last

Change the order of `DataSourceScriptDatabaseInitializerDetector` so
that it always runs last. This update allows script initialization to
be combined with a high-level migration tool such as Flyway.

Closes gh-26692
parent dafd5112
......@@ -21,6 +21,7 @@ import java.util.Set;
import org.springframework.boot.sql.init.dependency.AbstractBeansOfTypeDatabaseInitializerDetector;
import org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector;
import org.springframework.core.Ordered;
/**
* A {@link DatabaseInitializerDetector} for {@link DataSourceScriptDatabaseInitializer}.
......@@ -29,9 +30,16 @@ import org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector;
*/
class DataSourceScriptDatabaseInitializerDetector extends AbstractBeansOfTypeDatabaseInitializerDetector {
static final int PRECEDENCE = Ordered.LOWEST_PRECEDENCE - 100;
@Override
protected Set<Class<?>> getDatabaseInitializerBeanTypes() {
return Collections.singleton(DataSourceScriptDatabaseInitializer.class);
}
@Override
public int getOrder() {
return PRECEDENCE;
}
}
insert into PERSON (first_name, last_name) values ('Phillip', 'Webb');
......@@ -32,7 +32,7 @@ class SampleFlywayApplicationTests {
@Test
void testDefaultSettings() {
assertThat(this.template.queryForObject("SELECT COUNT(*) from PERSON", Integer.class)).isEqualTo(1);
assertThat(this.template.queryForObject("SELECT COUNT(*) from PERSON", Integer.class)).isEqualTo(2);
}
}
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