Skip to content

Commit 61f5b39

Browse files
committed
Add delete cascade on metadata tables' foreign keys
1 parent f6dcea8 commit 61f5b39

File tree

18 files changed

+91
-108
lines changed

18 files changed

+91
-108
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/SimpleJobRepository.java

+1-10
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
* @author Baris Cubukcuoglu
5555
* @author Parikshit Dutta
5656
* @author Mark John Moreno
57+
* @author UHyeon Jeong
5758
* @see JobRepository
5859
* @see JobInstanceDao
5960
* @see JobExecutionDao
@@ -312,26 +313,16 @@ public JobExecution getLastJobExecution(String jobName, JobParameters jobParamet
312313

313314
@Override
314315
public void deleteStepExecution(StepExecution stepExecution) {
315-
this.ecDao.deleteExecutionContext(stepExecution);
316316
this.stepExecutionDao.deleteStepExecution(stepExecution);
317317
}
318318

319319
@Override
320320
public void deleteJobExecution(JobExecution jobExecution) {
321-
this.ecDao.deleteExecutionContext(jobExecution);
322-
this.jobExecutionDao.deleteJobExecutionParameters(jobExecution);
323-
for (StepExecution stepExecution : jobExecution.getStepExecutions()) {
324-
deleteStepExecution(stepExecution);
325-
}
326321
this.jobExecutionDao.deleteJobExecution(jobExecution);
327322
}
328323

329324
@Override
330325
public void deleteJobInstance(JobInstance jobInstance) {
331-
List<JobExecution> jobExecutions = findJobExecutions(jobInstance);
332-
for (JobExecution jobExecution : jobExecutions) {
333-
deleteJobExecution(jobExecution);
334-
}
335326
this.jobInstanceDao.deleteJobInstance(jobInstance);
336327
}
337328

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-db2.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2020
EXIT_MESSAGE VARCHAR(2500) ,
2121
LAST_UPDATED TIMESTAMP(9),
2222
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2424
) ;
2525

2626
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -30,7 +30,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3030
PARAMETER_VALUE VARCHAR(2500) ,
3131
IDENTIFYING CHAR(1) NOT NULL ,
3232
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
33-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
33+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3434
) ;
3535

3636
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -54,23 +54,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5454
EXIT_MESSAGE VARCHAR(2500) ,
5555
LAST_UPDATED TIMESTAMP(9),
5656
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
57-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
57+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5858
) ;
5959

6060
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6161
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6262
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6363
SERIALIZED_CONTEXT CLOB ,
6464
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
65-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
65+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6666
) ;
6767

6868
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6969
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
7070
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
7171
SERIALIZED_CONTEXT CLOB ,
7272
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
73-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
73+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7474
) ;
7575

7676
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-derby.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2020
EXIT_MESSAGE VARCHAR(2500) ,
2121
LAST_UPDATED TIMESTAMP,
2222
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2424
) ;
2525

2626
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -30,7 +30,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3030
PARAMETER_VALUE VARCHAR(2500) ,
3131
IDENTIFYING CHAR(1) NOT NULL ,
3232
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
33-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
33+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3434
) ;
3535

3636
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -54,23 +54,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5454
EXIT_MESSAGE VARCHAR(2500) ,
5555
LAST_UPDATED TIMESTAMP,
5656
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
57-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
57+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5858
) ;
5959

6060
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6161
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6262
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6363
SERIALIZED_CONTEXT CLOB ,
6464
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
65-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
65+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6666
) ;
6767

6868
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6969
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
7070
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
7171
SERIALIZED_CONTEXT CLOB ,
7272
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
73-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
73+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7474
) ;
7575

7676
CREATE TABLE BATCH_STEP_EXECUTION_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1));

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-h2.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2020
EXIT_MESSAGE VARCHAR(2500) ,
2121
LAST_UPDATED TIMESTAMP(9),
2222
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2424
) ;
2525

2626
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -30,7 +30,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3030
PARAMETER_VALUE VARCHAR(2500) ,
3131
IDENTIFYING CHAR(1) NOT NULL ,
3232
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
33-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
33+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3434
) ;
3535

3636
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -54,23 +54,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5454
EXIT_MESSAGE VARCHAR(2500) ,
5555
LAST_UPDATED TIMESTAMP(9),
5656
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
57-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
57+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5858
) ;
5959

6060
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6161
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6262
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6363
SERIALIZED_CONTEXT LONGVARCHAR ,
6464
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
65-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
65+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6666
) ;
6767

6868
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6969
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
7070
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
7171
SERIALIZED_CONTEXT LONGVARCHAR ,
7272
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
73-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
73+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7474
) ;
7575

7676
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ;

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-hana.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2020
EXIT_MESSAGE VARCHAR(2500) ,
2121
LAST_UPDATED TIMESTAMP,
2222
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2424
) ;
2525

2626
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -30,7 +30,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3030
PARAMETER_VALUE VARCHAR(2500) ,
3131
IDENTIFYING VARCHAR(1) NOT NULL ,
3232
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
33-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
33+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3434
) ;
3535

3636
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -54,23 +54,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5454
EXIT_MESSAGE VARCHAR(2500) ,
5555
LAST_UPDATED TIMESTAMP,
5656
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
57-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
57+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5858
) ;
5959

6060
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6161
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6262
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6363
SERIALIZED_CONTEXT CLOB ,
6464
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
65-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
65+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6666
) ;
6767

6868
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6969
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
7070
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
7171
SERIALIZED_CONTEXT CLOB ,
7272
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
73-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
73+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7474
) ;
7575

7676
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ START WITH 0 MINVALUE 0 NO CYCLE;

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-hsqldb.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2020
EXIT_MESSAGE VARCHAR(2500) ,
2121
LAST_UPDATED TIMESTAMP(9),
2222
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2424
) ;
2525

2626
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -30,7 +30,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3030
PARAMETER_VALUE VARCHAR(2500) ,
3131
IDENTIFYING CHAR(1) NOT NULL ,
3232
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
33-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
33+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3434
) ;
3535

3636
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -54,23 +54,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5454
EXIT_MESSAGE VARCHAR(2500) ,
5555
LAST_UPDATED TIMESTAMP(9),
5656
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
57-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
57+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5858
) ;
5959

6060
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6161
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6262
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6363
SERIALIZED_CONTEXT LONGVARCHAR ,
6464
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
65-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
65+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6666
) ;
6767

6868
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6969
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
7070
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
7171
SERIALIZED_CONTEXT LONGVARCHAR ,
7272
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
73-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
73+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7474
) ;
7575

7676
CREATE TABLE BATCH_STEP_EXECUTION_SEQ (

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mariadb.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
1818
EXIT_MESSAGE VARCHAR(2500) ,
1919
LAST_UPDATED DATETIME(6),
2020
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
21-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
21+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2222
) ENGINE=InnoDB;
2323

2424
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -28,7 +28,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
2828
PARAMETER_VALUE VARCHAR(2500) ,
2929
IDENTIFYING CHAR(1) NOT NULL ,
3030
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
31-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
31+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3232
) ENGINE=InnoDB;
3333

3434
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -52,23 +52,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5252
EXIT_MESSAGE VARCHAR(2500) ,
5353
LAST_UPDATED DATETIME(6),
5454
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
55-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
55+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5656
) ENGINE=InnoDB;
5757

5858
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
5959
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6060
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6161
SERIALIZED_CONTEXT TEXT ,
6262
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
63-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
63+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6464
) ENGINE=InnoDB;
6565

6666
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6767
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6868
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6969
SERIALIZED_CONTEXT TEXT ,
7070
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
71-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
71+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7272
) ENGINE=InnoDB;
7373

7474
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ START WITH 1 MINVALUE 1 MAXVALUE 9223372036854775806 INCREMENT BY 1 NOCACHE NOCYCLE ENGINE=InnoDB;

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2020
EXIT_MESSAGE VARCHAR(2500) ,
2121
LAST_UPDATED DATETIME(6),
2222
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2424
) ENGINE=InnoDB;
2525

2626
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -30,7 +30,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3030
PARAMETER_VALUE VARCHAR(2500) ,
3131
IDENTIFYING CHAR(1) NOT NULL ,
3232
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
33-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
33+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3434
) ENGINE=InnoDB;
3535

3636
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -54,23 +54,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5454
EXIT_MESSAGE VARCHAR(2500) ,
5555
LAST_UPDATED DATETIME(6),
5656
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
57-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
57+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5858
) ENGINE=InnoDB;
5959

6060
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6161
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
6262
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
6363
SERIALIZED_CONTEXT TEXT ,
6464
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
65-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
65+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6666
) ENGINE=InnoDB;
6767

6868
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6969
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
7070
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
7171
SERIALIZED_CONTEXT TEXT ,
7272
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
73-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
73+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7474
) ENGINE=InnoDB;
7575

7676
CREATE TABLE BATCH_STEP_EXECUTION_SEQ (

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-oracle.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2020
EXIT_MESSAGE VARCHAR2(2500 char) ,
2121
LAST_UPDATED TIMESTAMP(9),
2222
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
23-
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
23+
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) ON DELETE CASCADE
2424
) SEGMENT CREATION IMMEDIATE;
2525

2626
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
@@ -30,7 +30,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3030
PARAMETER_VALUE VARCHAR(2500 char) ,
3131
IDENTIFYING CHAR(1) NOT NULL ,
3232
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
33-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
33+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
3434
) SEGMENT CREATION IMMEDIATE;
3535

3636
CREATE TABLE BATCH_STEP_EXECUTION (
@@ -54,23 +54,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5454
EXIT_MESSAGE VARCHAR2(2500 char) ,
5555
LAST_UPDATED TIMESTAMP(9),
5656
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
57-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
57+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
5858
) SEGMENT CREATION IMMEDIATE;
5959

6060
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6161
STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
6262
SHORT_CONTEXT VARCHAR2(2500 char) NOT NULL,
6363
SERIALIZED_CONTEXT CLOB ,
6464
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
65-
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
65+
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) ON DELETE CASCADE
6666
) SEGMENT CREATION IMMEDIATE;
6767

6868
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
6969
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
7070
SHORT_CONTEXT VARCHAR2(2500 char) NOT NULL,
7171
SERIALIZED_CONTEXT CLOB ,
7272
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
73-
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
73+
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ON DELETE CASCADE
7474
) SEGMENT CREATION IMMEDIATE;
7575

7676
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 ORDER NOCYCLE;

0 commit comments

Comments
 (0)