From 28768dc0c681be774f02d3f35d5e49bb694c4d5b Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Wed, 13 May 2020 16:33:49 +0800 Subject: [PATCH] Support microsecond accuracy for MySQL see https://github.com/spring-projects/spring-batch/commit/320cce6446736258a0b6f130ff7b303db43d6ace --- .../batch/core/migration/4.3/migration-mysql.sql | 4 +++- .../springframework/batch/core/schema-mysql.sql | 14 +++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/spring-batch-core/src/main/resources/org/springframework/batch/core/migration/4.3/migration-mysql.sql b/spring-batch-core/src/main/resources/org/springframework/batch/core/migration/4.3/migration-mysql.sql index 6ccbb2dbc..f9594204c 100644 --- a/spring-batch-core/src/main/resources/org/springframework/batch/core/migration/4.3/migration-mysql.sql +++ b/spring-batch-core/src/main/resources/org/springframework/batch/core/migration/4.3/migration-mysql.sql @@ -1 +1,3 @@ -ALTER TABLE BATCH_JOB_EXECUTION_PARAMS MODIFY DATE_VAL DATETIME(6) DEFAULT NULL; \ No newline at end of file +ALTER TABLE BATCH_JOB_EXECUTION MODIFY CREATE_TIME DATETIME(6), MODIFY START_TIME DATETIME(6), MODIFY END_TIME DATETIME(6), MODIFY LAST_UPDATED DATETIME(6); +ALTER TABLE BATCH_JOB_EXECUTION_PARAMS MODIFY DATE_VAL DATETIME(6); +ALTER TABLE BATCH_STEP_EXECUTION MODIFY START_TIME DATETIME(6), MODIFY END_TIME DATETIME(6), MODIFY LAST_UPDATED DATETIME(6); \ No newline at end of file diff --git a/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql b/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql index 75b57c6be..1a5d87b65 100644 --- a/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql +++ b/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql @@ -12,13 +12,13 @@ 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 , + CREATE_TIME DATETIME(6) NOT NULL, + START_TIME DATETIME(6) DEFAULT NULL , + END_TIME DATETIME(6) DEFAULT NULL , STATUS VARCHAR(10) , EXIT_CODE VARCHAR(2500) , EXIT_MESSAGE VARCHAR(2500) , - LAST_UPDATED DATETIME, + LAST_UPDATED DATETIME(6), JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL, constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID) references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) @@ -42,8 +42,8 @@ CREATE TABLE BATCH_STEP_EXECUTION ( 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 , + START_TIME DATETIME(6) NOT NULL , + END_TIME DATETIME(6) DEFAULT NULL , STATUS VARCHAR(10) , COMMIT_COUNT BIGINT , READ_COUNT BIGINT , @@ -55,7 +55,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( ROLLBACK_COUNT BIGINT , EXIT_CODE VARCHAR(2500) , EXIT_MESSAGE VARCHAR(2500) , - LAST_UPDATED DATETIME, + LAST_UPDATED DATETIME(6), constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID) references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) ENGINE=InnoDB;