Defer SQL initialization to fit with JPA better
Added 2 new spring.datasource.* properties ("data" like
"schema", and "deferDdl" like the "spring.jpa.hibernate.*"
flag). The SQL scripts are then run separately and the "data"
ones are triggered by a new DataSourceInitializedEvent,
which is also published by the Hibernate DDL schema export.
Fixes gh-1006
This commit is contained in:
@@ -156,7 +156,9 @@ content into your application; rather pick only the properties that you need.
|
||||
# DATASOURCE ({sc-spring-boot-autoconfigure}/jdbc/DataSourceAutoConfiguration.{sc-ext}[DataSourceAutoConfiguration] & {sc-spring-boot-autoconfigure}//jdbc/AbstractDataSourceConfiguration.{sc-ext}[AbstractDataSourceConfiguration])
|
||||
spring.datasource.name= # name of the data source
|
||||
spring.datasource.initialize=true # populate using data.sql
|
||||
spring.datasource.schema= # a schema resource reference
|
||||
spring.datasource.deferDdl= # flag to indicate that schema scripts will run after the application starts (default false)
|
||||
spring.datasource.schema= # a schema (DDL) script resource reference
|
||||
spring.datasource.data= # a data (DML) script resource reference
|
||||
spring.datasource.platform= # the platform to use in the schema resource (schema-${platform}.sql)
|
||||
spring.datasource.continueOnError=false # continue even if can't be initialized
|
||||
spring.datasource.separator=; # statement separator in SQL initialization scripts
|
||||
|
||||
@@ -1165,7 +1165,7 @@ and `data-${platform}.sql` files (if present), where
|
||||
it to the vendor name of the database (`hsqldb`, `h2`, `oracle`, `mysql`,
|
||||
`postgresql` etc.). Spring Boot enables the failfast feature of the Spring JDBC
|
||||
initializer by default, so if the scripts cause exceptions the application will fail
|
||||
to start.
|
||||
to start. The script locations can be changed by setting `spring.datasource.schema` and `spring.datasource.data`, and neither location will be processed if `spring.datasource.initialize=false`.
|
||||
|
||||
To disable the failfast you can set `spring.datasource.continueOnError=true`. This can be
|
||||
useful once an application has matured and been deployed a few times, since the scripts
|
||||
|
||||
Reference in New Issue
Block a user