Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
-- Migration script for Spring Batch 6.0
-- Changes VARCHAR columns to NVARCHAR to align with Microsoft JDBC driver behavior
-- This improves performance by avoiding implicit conversions and reduces deadlock risk

-- BATCH_JOB_INSTANCE table
ALTER TABLE BATCH_JOB_INSTANCE ALTER COLUMN JOB_NAME NVARCHAR(100) NOT NULL;
ALTER TABLE BATCH_JOB_INSTANCE ALTER COLUMN JOB_KEY NVARCHAR(32) NOT NULL;

-- BATCH_JOB_EXECUTION table
ALTER TABLE BATCH_JOB_EXECUTION ALTER COLUMN STATUS NVARCHAR(10) NULL;
ALTER TABLE BATCH_JOB_EXECUTION ALTER COLUMN EXIT_CODE NVARCHAR(2500) NULL;
ALTER TABLE BATCH_JOB_EXECUTION ALTER COLUMN EXIT_MESSAGE NVARCHAR(2500) NULL;

-- BATCH_JOB_EXECUTION_PARAMS table
ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN PARAMETER_NAME NVARCHAR(100) NOT NULL;
ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN PARAMETER_TYPE NVARCHAR(100) NOT NULL;
ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN PARAMETER_VALUE NVARCHAR(2500);

-- BATCH_STEP_EXECUTION table
ALTER TABLE BATCH_STEP_EXECUTION ALTER COLUMN STEP_NAME NVARCHAR(100) NOT NULL;
ALTER TABLE BATCH_STEP_EXECUTION ALTER COLUMN STATUS NVARCHAR(10) NULL;
ALTER TABLE BATCH_STEP_EXECUTION ALTER COLUMN EXIT_CODE NVARCHAR(2500) NULL;
ALTER TABLE BATCH_STEP_EXECUTION ALTER COLUMN EXIT_MESSAGE NVARCHAR(2500) NULL;

-- BATCH_STEP_EXECUTION_CONTEXT table
ALTER TABLE BATCH_STEP_EXECUTION_CONTEXT ALTER COLUMN SHORT_CONTEXT NVARCHAR(2500) NOT NULL;
ALTER TABLE BATCH_STEP_EXECUTION_CONTEXT ALTER COLUMN SERIALIZED_CONTEXT NVARCHAR(MAX) NULL;

-- BATCH_JOB_EXECUTION_CONTEXT table
ALTER TABLE BATCH_JOB_EXECUTION_CONTEXT ALTER COLUMN SHORT_CONTEXT NVARCHAR(2500) NOT NULL;
ALTER TABLE BATCH_JOB_EXECUTION_CONTEXT ALTER COLUMN SERIALIZED_CONTEXT NVARCHAR(MAX) NULL;
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
CREATE TABLE BATCH_JOB_INSTANCE (
JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY,
VERSION BIGINT NULL,
JOB_NAME VARCHAR(100) NOT NULL,
JOB_KEY VARCHAR(32) NOT NULL,
JOB_NAME NVARCHAR(100) NOT NULL,
JOB_KEY NVARCHAR(32) NOT NULL,
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
) ;

Expand All @@ -15,19 +15,19 @@ CREATE TABLE BATCH_JOB_EXECUTION (
CREATE_TIME DATETIME NOT NULL,
START_TIME DATETIME DEFAULT NULL,
END_TIME DATETIME DEFAULT NULL,
STATUS VARCHAR(10) NULL,
EXIT_CODE VARCHAR(2500) NULL,
EXIT_MESSAGE VARCHAR(2500) NULL,
STATUS NVARCHAR(10) NULL,
EXIT_CODE NVARCHAR(2500) NULL,
EXIT_MESSAGE NVARCHAR(2500) NULL,
LAST_UPDATED DATETIME NULL,
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
) ;

CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
JOB_EXECUTION_ID BIGINT NOT NULL,
PARAMETER_NAME VARCHAR(100) NOT NULL,
PARAMETER_TYPE VARCHAR(100) NOT NULL,
PARAMETER_VALUE VARCHAR(2500),
PARAMETER_NAME NVARCHAR(100) NOT NULL,
PARAMETER_TYPE NVARCHAR(100) NOT NULL,
PARAMETER_VALUE NVARCHAR(2500),
IDENTIFYING CHAR(1) NOT NULL,
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
Expand All @@ -36,12 +36,12 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
CREATE TABLE BATCH_STEP_EXECUTION (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
VERSION BIGINT NOT NULL,
STEP_NAME VARCHAR(100) NOT NULL,
STEP_NAME NVARCHAR(100) NOT NULL,
JOB_EXECUTION_ID BIGINT NOT NULL,
CREATE_TIME DATETIME NOT NULL,
START_TIME DATETIME DEFAULT NULL,
END_TIME DATETIME DEFAULT NULL,
STATUS VARCHAR(10) NULL,
STATUS NVARCHAR(10) NULL,
COMMIT_COUNT BIGINT NULL,
READ_COUNT BIGINT NULL,
FILTER_COUNT BIGINT NULL,
Expand All @@ -50,25 +50,25 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_SKIP_COUNT BIGINT NULL,
PROCESS_SKIP_COUNT BIGINT NULL,
ROLLBACK_COUNT BIGINT NULL,
EXIT_CODE VARCHAR(2500) NULL,
EXIT_MESSAGE VARCHAR(2500) NULL,
EXIT_CODE NVARCHAR(2500) NULL,
EXIT_MESSAGE NVARCHAR(2500) NULL,
LAST_UPDATED DATETIME NULL,
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 VARCHAR(MAX) NULL,
SHORT_CONTEXT NVARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT NVARCHAR(MAX) NULL,
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 VARCHAR(MAX) NULL,
SHORT_CONTEXT NVARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT NVARCHAR(MAX) NULL,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;
Expand Down