我的弹簧引导配置是:
spring:
profiles: database
datasource:
platform: mysql
continueOnError: false
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
data: data-mysql.sql
schema: schema-mysql.sql
batch:
initializer:
enabled: true
initialize-schema: always
job:
enabled: true
jpa:
database-platform: org.hibernate.dialect.MySQLDialect
show-sql: true
hibernate:
ddl-auto: create-drop
我的期望是:
-
spring-batch
schema
每次都会从头开始创建; -
schema-mysql.sql
中指定的customer
表将在每个开始时间创建; -
customer
data-mysql.sql
中指定的数据将在每个开始时间填充;
但实际结果是:
-
spring-batch
schema
仅在第一次创建; -
customer
表中从未填充过数据; - 从未创建
customer
表;
问题:
我应该如何更改我的配置以获得下一个结果:
- 如果只创建一次或每次开始时间
spring-batch
schema
我没关系(但它应该为缺席情况创建(; -
customer
表应仅创建一次或每次; - 如果没有数据,则应
customer
表中填充数据。
详:
- 弹簧引导 2.2.0.M3;
- 格拉德尔 5.4.1;
- 马里亚德布。
我看不到您配置为执行架构和数据文件。
您必须添加:
spring:
datasource:
initialization-mode: always