Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b095f10

Browse files
committed
Add migration script integration tests
- Implement 4.x to 5.0 migration validation for all supported databases - Add 4.x baseline schema files for migration testing - Use TestContainers for major databases, embedded for others - Auto-disable tests when Docker unavailable Resolves: #4289 Signed-off-by: baezzys <wlsdn3578@gmail.com>
1 parent 3bcc525 commit b095f10

20 files changed

+1379
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
-- Spring Batch 4.x schema for DB2
2+
3+
CREATE TABLE BATCH_JOB_INSTANCE (
4+
JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY,
5+
VERSION BIGINT,
6+
JOB_NAME VARCHAR(100) NOT NULL,
7+
JOB_KEY VARCHAR(32) NOT NULL,
8+
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
9+
) ;
10+
11+
CREATE TABLE BATCH_JOB_EXECUTION (
12+
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
13+
VERSION BIGINT,
14+
JOB_INSTANCE_ID BIGINT NOT NULL,
15+
CREATE_TIME TIMESTAMP NOT NULL,
16+
START_TIME TIMESTAMP DEFAULT NULL,
17+
END_TIME TIMESTAMP DEFAULT NULL,
18+
STATUS VARCHAR(10),
19+
EXIT_CODE VARCHAR(2500),
20+
EXIT_MESSAGE VARCHAR(2500),
21+
LAST_UPDATED TIMESTAMP,
22+
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
24+
) ;
25+
26+
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
27+
JOB_EXECUTION_ID BIGINT NOT NULL,
28+
TYPE_CD VARCHAR(6) NOT NULL,
29+
KEY_NAME VARCHAR(100) NOT NULL,
30+
STRING_VAL VARCHAR(250),
31+
DATE_VAL TIMESTAMP DEFAULT NULL,
32+
LONG_VAL BIGINT,
33+
DOUBLE_VAL DOUBLE,
34+
IDENTIFYING CHAR(1) NOT NULL,
35+
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
36+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
37+
) ;
38+
39+
CREATE TABLE BATCH_STEP_EXECUTION (
40+
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
41+
VERSION BIGINT NOT NULL,
42+
STEP_NAME VARCHAR(100) NOT NULL,
43+
JOB_EXECUTION_ID BIGINT NOT NULL,
44+
START_TIME TIMESTAMP NOT NULL,
45+
END_TIME TIMESTAMP DEFAULT NULL,
46+
STATUS VARCHAR(10),
47+
COMMIT_COUNT BIGINT,
48+
READ_COUNT BIGINT,
49+
FILTER_COUNT BIGINT,
50+
WRITE_COUNT BIGINT,
51+
READ_SKIP_COUNT BIGINT,
52+
WRITE_SKIP_COUNT BIGINT,
53+
PROCESS_SKIP_COUNT BIGINT,
54+
ROLLBACK_COUNT BIGINT,
55+
EXIT_CODE VARCHAR(2500),
56+
EXIT_MESSAGE VARCHAR(2500),
57+
LAST_UPDATED TIMESTAMP,
58+
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
59+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
60+
) ;
61+
62+
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
63+
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
64+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
65+
SERIALIZED_CONTEXT CLOB,
66+
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
67+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
68+
) ;
69+
70+
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
71+
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
72+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
73+
SERIALIZED_CONTEXT CLOB,
74+
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
75+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
76+
) ;
77+
78+
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
79+
CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
80+
CREATE SEQUENCE BATCH_JOB_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
-- Spring Batch 4.x schema for Derby
2+
3+
CREATE TABLE BATCH_JOB_INSTANCE (
4+
JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY,
5+
VERSION BIGINT,
6+
JOB_NAME VARCHAR(100) NOT NULL,
7+
JOB_KEY VARCHAR(32) NOT NULL,
8+
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
9+
) ;
10+
11+
CREATE TABLE BATCH_JOB_EXECUTION (
12+
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
13+
VERSION BIGINT,
14+
JOB_INSTANCE_ID BIGINT NOT NULL,
15+
CREATE_TIME TIMESTAMP NOT NULL,
16+
START_TIME TIMESTAMP DEFAULT NULL,
17+
END_TIME TIMESTAMP DEFAULT NULL,
18+
STATUS VARCHAR(10),
19+
EXIT_CODE VARCHAR(2500),
20+
EXIT_MESSAGE VARCHAR(2500),
21+
LAST_UPDATED TIMESTAMP,
22+
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
24+
) ;
25+
26+
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
27+
JOB_EXECUTION_ID BIGINT NOT NULL,
28+
TYPE_CD VARCHAR(6) NOT NULL,
29+
KEY_NAME VARCHAR(100) NOT NULL,
30+
STRING_VAL VARCHAR(250),
31+
DATE_VAL TIMESTAMP DEFAULT NULL,
32+
LONG_VAL BIGINT,
33+
DOUBLE_VAL DOUBLE PRECISION,
34+
IDENTIFYING CHAR(1) NOT NULL,
35+
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
36+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
37+
) ;
38+
39+
CREATE TABLE BATCH_STEP_EXECUTION (
40+
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
41+
VERSION BIGINT NOT NULL,
42+
STEP_NAME VARCHAR(100) NOT NULL,
43+
JOB_EXECUTION_ID BIGINT NOT NULL,
44+
START_TIME TIMESTAMP NOT NULL,
45+
END_TIME TIMESTAMP DEFAULT NULL,
46+
STATUS VARCHAR(10),
47+
COMMIT_COUNT BIGINT,
48+
READ_COUNT BIGINT,
49+
FILTER_COUNT BIGINT,
50+
WRITE_COUNT BIGINT,
51+
READ_SKIP_COUNT BIGINT,
52+
WRITE_SKIP_COUNT BIGINT,
53+
PROCESS_SKIP_COUNT BIGINT,
54+
ROLLBACK_COUNT BIGINT,
55+
EXIT_CODE VARCHAR(2500),
56+
EXIT_MESSAGE VARCHAR(2500),
57+
LAST_UPDATED TIMESTAMP,
58+
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
59+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
60+
) ;
61+
62+
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
63+
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
64+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
65+
SERIALIZED_CONTEXT CLOB,
66+
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
67+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
68+
) ;
69+
70+
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
71+
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
72+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
73+
SERIALIZED_CONTEXT CLOB,
74+
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
75+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
76+
) ;
77+
78+
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
79+
CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
80+
CREATE SEQUENCE BATCH_JOB_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
-- Spring Batch 4.x schema for H2
2+
3+
CREATE TABLE BATCH_JOB_INSTANCE (
4+
JOB_INSTANCE_ID BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
5+
VERSION BIGINT,
6+
JOB_NAME VARCHAR(100) NOT NULL,
7+
JOB_KEY VARCHAR(32) NOT NULL,
8+
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
9+
) ;
10+
11+
CREATE TABLE BATCH_JOB_EXECUTION (
12+
JOB_EXECUTION_ID BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
13+
VERSION BIGINT,
14+
JOB_INSTANCE_ID BIGINT NOT NULL,
15+
CREATE_TIME TIMESTAMP NOT NULL,
16+
START_TIME TIMESTAMP DEFAULT NULL,
17+
END_TIME TIMESTAMP DEFAULT NULL,
18+
STATUS VARCHAR(10),
19+
EXIT_CODE VARCHAR(2500),
20+
EXIT_MESSAGE VARCHAR(2500),
21+
LAST_UPDATED TIMESTAMP,
22+
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
24+
) ;
25+
26+
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
27+
JOB_EXECUTION_ID BIGINT NOT NULL,
28+
TYPE_CD VARCHAR(6) NOT NULL,
29+
KEY_NAME VARCHAR(100) NOT NULL,
30+
STRING_VAL VARCHAR(250),
31+
DATE_VAL TIMESTAMP DEFAULT NULL,
32+
LONG_VAL BIGINT,
33+
DOUBLE_VAL DOUBLE,
34+
IDENTIFYING CHAR(1) NOT NULL,
35+
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
36+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
37+
) ;
38+
39+
CREATE TABLE BATCH_STEP_EXECUTION (
40+
STEP_EXECUTION_ID BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
41+
VERSION BIGINT NOT NULL,
42+
STEP_NAME VARCHAR(100) NOT NULL,
43+
JOB_EXECUTION_ID BIGINT NOT NULL,
44+
START_TIME TIMESTAMP NOT NULL,
45+
END_TIME TIMESTAMP DEFAULT NULL,
46+
STATUS VARCHAR(10),
47+
COMMIT_COUNT BIGINT,
48+
READ_COUNT BIGINT,
49+
FILTER_COUNT BIGINT,
50+
WRITE_COUNT BIGINT,
51+
READ_SKIP_COUNT BIGINT,
52+
WRITE_SKIP_COUNT BIGINT,
53+
PROCESS_SKIP_COUNT BIGINT,
54+
ROLLBACK_COUNT BIGINT,
55+
EXIT_CODE VARCHAR(2500),
56+
EXIT_MESSAGE VARCHAR(2500),
57+
LAST_UPDATED TIMESTAMP,
58+
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
59+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
60+
) ;
61+
62+
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
63+
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
64+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
65+
SERIALIZED_CONTEXT LONGVARCHAR,
66+
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
67+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
68+
) ;
69+
70+
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
71+
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
72+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
73+
SERIALIZED_CONTEXT LONGVARCHAR,
74+
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
75+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
76+
) ;
77+
78+
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ;
79+
CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ;
80+
CREATE SEQUENCE BATCH_JOB_SEQ;
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
-- Spring Batch 4.x schema for HSQLDB
2+
3+
CREATE TABLE BATCH_JOB_INSTANCE (
4+
JOB_INSTANCE_ID BIGINT IDENTITY NOT NULL PRIMARY KEY,
5+
VERSION BIGINT,
6+
JOB_NAME VARCHAR(100) NOT NULL,
7+
JOB_KEY VARCHAR(32) NOT NULL,
8+
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
9+
) ;
10+
11+
CREATE TABLE BATCH_JOB_EXECUTION (
12+
JOB_EXECUTION_ID BIGINT IDENTITY NOT NULL PRIMARY KEY,
13+
VERSION BIGINT,
14+
JOB_INSTANCE_ID BIGINT NOT NULL,
15+
CREATE_TIME TIMESTAMP NOT NULL,
16+
START_TIME TIMESTAMP DEFAULT NULL,
17+
END_TIME TIMESTAMP DEFAULT NULL,
18+
STATUS VARCHAR(10),
19+
EXIT_CODE VARCHAR(2500),
20+
EXIT_MESSAGE VARCHAR(2500),
21+
LAST_UPDATED TIMESTAMP,
22+
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
24+
) ;
25+
26+
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
27+
JOB_EXECUTION_ID BIGINT NOT NULL,
28+
TYPE_CD VARCHAR(6) NOT NULL,
29+
KEY_NAME VARCHAR(100) NOT NULL,
30+
STRING_VAL VARCHAR(250),
31+
DATE_VAL TIMESTAMP DEFAULT NULL,
32+
LONG_VAL BIGINT,
33+
DOUBLE_VAL DOUBLE,
34+
IDENTIFYING CHAR(1) NOT NULL,
35+
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
36+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
37+
) ;
38+
39+
CREATE TABLE BATCH_STEP_EXECUTION (
40+
STEP_EXECUTION_ID BIGINT IDENTITY NOT NULL PRIMARY KEY,
41+
VERSION BIGINT NOT NULL,
42+
STEP_NAME VARCHAR(100) NOT NULL,
43+
JOB_EXECUTION_ID BIGINT NOT NULL,
44+
START_TIME TIMESTAMP NOT NULL,
45+
END_TIME TIMESTAMP DEFAULT NULL,
46+
STATUS VARCHAR(10),
47+
COMMIT_COUNT BIGINT,
48+
READ_COUNT BIGINT,
49+
FILTER_COUNT BIGINT,
50+
WRITE_COUNT BIGINT,
51+
READ_SKIP_COUNT BIGINT,
52+
WRITE_SKIP_COUNT BIGINT,
53+
PROCESS_SKIP_COUNT BIGINT,
54+
ROLLBACK_COUNT BIGINT,
55+
EXIT_CODE VARCHAR(2500),
56+
EXIT_MESSAGE VARCHAR(2500),
57+
LAST_UPDATED TIMESTAMP,
58+
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
59+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
60+
) ;
61+
62+
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
63+
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
64+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
65+
SERIALIZED_CONTEXT LONGVARCHAR,
66+
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
67+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
68+
) ;
69+
70+
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
71+
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
72+
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
73+
SERIALIZED_CONTEXT LONGVARCHAR,
74+
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
75+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
76+
) ;
77+
78+
CREATE TABLE BATCH_STEP_EXECUTION_SEQ (
79+
ID BIGINT IDENTITY
80+
);
81+
CREATE TABLE BATCH_JOB_EXECUTION_SEQ (
82+
ID BIGINT IDENTITY
83+
);
84+
CREATE TABLE BATCH_JOB_SEQ (
85+
ID BIGINT IDENTITY
86+
);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /