@ -392,7 +392,7 @@ public class DataSourceProperties implements BeanClassLoaderAware, InitializingB
@@ -392,7 +392,7 @@ public class DataSourceProperties implements BeanClassLoaderAware, InitializingB
@ -43,7 +43,9 @@ It loads SQL from the standard root classpath locations: `schema.sql` and `data.
@@ -43,7 +43,9 @@ It loads SQL from the standard root classpath locations: `schema.sql` and `data.
In addition, Spring Boot processes the `schema-$\{platform}.sql` and `data-$\{platform}.sql` files (if present), where `platform` is the value of configprop:spring.sql.init.platform[].
This allows you to switch to database-specific scripts if necessary.
For example, you might choose to set it to the vendor name of the database (`hsqldb`, `h2`, `oracle`, `mysql`, `postgresql`, and so on).
SQL database initialization can be disabled by setting configprop:spring.sql.init.enabled[] to `false`.
By default, SQL database initialization is only performed when using an embedded in-memory database.
To always initialize an SQL database, irrespective of its type, set configprop:spring.sql.init.mode[] to `always`.
Similarly, to disable initialization, set configprop:spring.sql.init.mode[] to `never`.
By default, Spring Boot enables the fail-fast feature of its script-based database initializer.
This means that, if the scripts cause exceptions, the application fails to start.
You can tune that behavior by setting configprop:spring.sql.init.continue-on-error[].
@ -58,6 +59,11 @@ public class DataSourceScriptDatabaseInitializer extends AbstractScriptDatabaseI
@@ -58,6 +59,11 @@ public class DataSourceScriptDatabaseInitializer extends AbstractScriptDatabaseI
@ -67,4 +67,28 @@ public class OptionsCapableConnectionFactory implements Wrapped<ConnectionFactor
@@ -67,4 +67,28 @@ public class OptionsCapableConnectionFactory implements Wrapped<ConnectionFactor
@ -51,6 +52,11 @@ public class R2dbcScriptDatabaseInitializer extends AbstractScriptDatabaseInitia
@@ -51,6 +52,11 @@ public class R2dbcScriptDatabaseInitializer extends AbstractScriptDatabaseInitia
@ -71,10 +71,30 @@ public abstract class AbstractScriptDatabaseInitializer implements ResourceLoade
@@ -71,10 +71,30 @@ public abstract class AbstractScriptDatabaseInitializer implements ResourceLoade
@ -38,16 +38,16 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@@ -38,16 +38,16 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@ -56,7 +56,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@@ -56,7 +56,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@ -64,7 +64,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@@ -64,7 +64,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
.withMessage("No schema scripts found at location 'does-not-exist.sql'");
}
@ -73,7 +73,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@@ -73,7 +73,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
.withMessage("No data scripts found at location 'does-not-exist.sql'");
}
@ -82,7 +82,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@@ -82,7 +82,7 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@ -90,12 +90,81 @@ public abstract class AbstractScriptDatabaseInitializerTests {
@@ -90,12 +90,81 @@ public abstract class AbstractScriptDatabaseInitializerTests {