Spring批处理自定义数据库模式初始化

时间:2019-06-14 08:22:49

标签: java mysql spring-boot spring-batch

我的spring-boot配置是:

DeserializationError: Unable to deserialize response data. Data: 268435456000‬, long, ValueError: invalid literal for long() with base 10: '268435456000\\xe2\\x80\\xac'"

我的期望是:

  • 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中指定的
  • customer表将在每个开始时间创建;
  • schema-mysql.sql中将在customer中指定的数据在每个开始时间填充;

但是实际结果是:

  • data-mysql.sql spring-batch仅是首次创建;
  • schema表从未填充数据;
  • customer表从未创建;

问题:

如何更改配置以获得下一个结果:

  • 如果customer spring-batch仅创建一次或每个开始时间都是可以的(但应为缺席情况创建);
  • schema表只能创建一次或每次;
  • 如果没有数据,请在
  • customer表中填充数据。

详细信息:

  • spring-boot 2.2.0.M3;
  • 5.4.1级;
  • mariadb。

1 个答案:

答案 0 :(得分:1)

我看不到您已配置为执行架构和数据文件。

您必须添加:

spring:
    datasource:
        initialization-mode: always