text: USE SPRING;
  
  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)
  );
  
  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(100) ,
  	EXIT_MESSAGE VARCHAR(2500) ,
  	LAST_UPDATED DATETIME,
  	CONSTRAINT JOB_INST_EXEC_FK FOREIGN KEY (JOB_INSTANCE_ID)
  	REFERENCES BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
  );
  
  CREATE TABLE BATCH_JOB_PARAMS  (
  	JOB_INSTANCE_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 ,
  	CONSTRAINT JOB_INST_PARAMS_FK FOREIGN KEY (JOB_INSTANCE_ID)
  	REFERENCES BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
  );
  
  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(100) ,
  	EXIT_MESSAGE VARCHAR(2500) ,
  	LAST_UPDATED DATETIME,
  	CONSTRAINT JOB_EXEC_STEP_FK FOREIGN KEY (JOB_EXECUTION_ID)
  	REFERENCES BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
  );
  
  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)
  );
  
  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)
  );
  
  CREATE TABLE BATCH_STEP_EXECUTION_SEQ (
  	ID BIGINT NOT NULL
  );
  
  CREATE TABLE BATCH_JOB_EXECUTION_SEQ (
  	ID BIGINT NOT NULL
  );
  
  CREATE TABLE BATCH_JOB_SEQ (
  	ID BIGINT NOT NULL
  );
  
  INSERT INTO BATCH_STEP_EXECUTION_SEQ VALUES(0);
  INSERT INTO BATCH_JOB_EXECUTION_SEQ VALUES(0);
  INSERT INTO BATCH_JOB_SEQ VALUES(0);
  