spring batch 数据脚本

本文提供了详细的Batch初始化脚本,包括创建任务实例、执行、参数、步骤执行等关键表格的SQL语句,确保数据一致性和引用完整性。

batch初始化脚本

(本人已验证)正确的初始化脚本信息为:

 CREATE TABLE BATCH_JOB_INSTANCE  (  
     JOB_INSTANCE_ID BIGINT  NOT NULL PRIMARY KEY ,  
     VERSION BIGINT ,  
     JOB_NAME VARCHAR(100) NOT NULL,  
     JOB_KEY VARCHAR(32) NOT NULL,  
     constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)  
 ) ENGINE=InnoDB;  
   
 CREATE TABLE BATCH_JOB_EXECUTION  (  
     JOB_EXECUTION_ID BIGINT  NOT NULL PRIMARY KEY ,  
     VERSION BIGINT  ,  
     JOB_INSTANCE_ID BIGINT NOT NULL,  
     CREATE_TIME DATETIME NOT NULL,  
     START_TIME DATETIME DEFAULT NULL ,  
     END_TIME DATETIME DEFAULT NULL ,  
     STATUS VARCHAR(10) ,  
     EXIT_CODE VARCHAR(2500) ,  
     EXIT_MESSAGE VARCHAR(2500) ,  
     LAST_UPDATED DATETIME,  
     JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL,  
     constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)  
     references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)  
 ) ENGINE=InnoDB;  
   
 CREATE TABLE BATCH_JOB_EXECUTION_PARAMS  (  
     JOB_EXECUTION_ID BIGINT NOT NULL ,  
     TYPE_CD VARCHAR(6) NOT NULL ,  
     KEY_NAME VARCHAR(100) NOT NULL ,  
     STRING_VAL VARCHAR(250) ,  
     DATE_VAL DATETIME DEFAULT NULL ,  
     LONG_VAL BIGINT ,  
     DOUBLE_VAL DOUBLE PRECISION ,  
     IDENTIFYING CHAR(1) NOT NULL ,  
     constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)  
     references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)  
 ) ENGINE=InnoDB;  
   
 CREATE TABLE BATCH_STEP_EXECUTION  (  
     STEP_EXECUTION_ID BIGINT  NOT NULL PRIMARY KEY ,  
     VERSION BIGINT NOT NULL,  
     STEP_NAME VARCHAR(100) NOT NULL,  
     JOB_EXECUTION_ID BIGINT NOT NULL,  
     START_TIME DATETIME NOT NULL ,  
     END_TIME DATETIME DEFAULT NULL ,  
     STATUS VARCHAR(10) ,  
     COMMIT_COUNT BIGINT ,  
     READ_COUNT BIGINT ,  
     FILTER_COUNT BIGINT ,  
     WRITE_COUNT BIGINT ,  
     READ_SKIP_COUNT BIGINT ,  
     WRITE_SKIP_COUNT BIGINT ,  
     PROCESS_SKIP_COUNT BIGINT ,  
     ROLLBACK_COUNT BIGINT ,  
     EXIT_CODE VARCHAR(2500) ,  
     EXIT_MESSAGE VARCHAR(2500) ,  
     LAST_UPDATED DATETIME,  
     constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)  
     references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)  
 ) ENGINE=InnoDB;  
   
 CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT  (  
     STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,  
     SHORT_CONTEXT VARCHAR(2500) NOT NULL,  
     SERIALIZED_CONTEXT TEXT ,  
     constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)  
     references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)  
 ) ENGINE=InnoDB;  
   
 CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT  (  
     JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,  
     SHORT_CONTEXT VARCHAR(2500) NOT NULL,  
     SERIALIZED_CONTEXT TEXT ,  
     constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)  
     references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)  
 ) ENGINE=InnoDB;  
   
 CREATE TABLE BATCH_STEP_EXECUTION_SEQ (  
     ID BIGINT NOT NULL,  
     UNIQUE_KEY CHAR(1) NOT NULL,  
     constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)  
 ) ENGINE=InnoDB;  
   
 INSERT INTO BATCH_STEP_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_STEP_EXECUTION_SEQ);  
   
 CREATE TABLE BATCH_JOB_EXECUTION_SEQ (  
     ID BIGINT NOT NULL,  
     UNIQUE_KEY CHAR(1) NOT NULL,  
     constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)  
 ) ENGINE=InnoDB;  
   
 INSERT INTO BATCH_JOB_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_EXECUTION_SEQ);  
   
 CREATE TABLE BATCH_JOB_SEQ (  
     ID BIGINT NOT NULL,  
     UNIQUE_KEY CHAR(1) NOT NULL,  
     constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)  
 ) ENGINE=InnoDB;  
   
 INSERT INTO BATCH_JOB_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_SEQ);  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值