diff --git a/spring-batch-docs/modules/ROOT/assets/images/meta-data-erd.png b/spring-batch-docs/modules/ROOT/assets/images/meta-data-erd.png deleted file mode 100644 index 4c2a858131..0000000000 Binary files a/spring-batch-docs/modules/ROOT/assets/images/meta-data-erd.png and /dev/null differ diff --git a/spring-batch-docs/modules/ROOT/assets/images/meta-data-erd.svg b/spring-batch-docs/modules/ROOT/assets/images/meta-data-erd.svg new file mode 100644 index 0000000000..0fecf34274 --- /dev/null +++ b/spring-batch-docs/modules/ROOT/assets/images/meta-data-erd.svg @@ -0,0 +1 @@ +BATCH_JOB_INSTANCEJOB_INSTANCE_ID : BIGINT «PK»VERSION : BIGINTJOB_NAME : VARCHAR(100)JOB_KEY : VARCHAR(32)BATCH_JOB_EXECUTIONJOB_EXECUTION_ID : BIGINT «PK»VERSION : BIGINTJOB_INSTANCE_ID : BIGINT «FK»CREATE_TIME : DATETIME(6)START_TIME : DATETIME(6)END_TIME : DATETIME(6)STATUS : VARCHAR(10)EXIT_CODE : VARCHAR(2500)EXIT_MESSAGE : VARCHAR(2500)LAST_UPDATED : DATETIME(6)BATCH_JOB_EXECUTION_PARAMSJOB_EXECUTION_ID : BIGINT «FK»PARAMETER_NAME : VARCHAR(100)PARAMETER_TYPE : VARCHAR(100)PARAMETER_VALUE : VARCHAR(2500)IDENTIFYING : CHAR(1)BATCH_STEP_EXECUTIONSTEP_EXECUTION_ID : BIGINT «PK»VERSION : BIGINTSTEP_NAME : VARCHAR(100)JOB_EXECUTION_ID : BIGINT «FK»CREATE_TIME : DATETIME(6)START_TIME : DATETIME(6)END_TIME : DATETIME(6)STATUS : VARCHAR(10)COMMIT_COUNT : BIGINTREAD_COUNT : BIGINTFILTER_COUNT : BIGINTWRITE_COUNT : BIGINTREAD_SKIP_COUNT : BIGINTWRITE_SKIP_COUNT : BIGINTPROCESS_SKIP_COUNT : BIGINTROLLBACK_COUNT : BIGINTEXIT_CODE : VARCHAR(2500)EXIT_MESSAGE : VARCHAR(2500)LAST_UPDATED : DATETIME(6)BATCH_JOB_EXECUTION_CONTEXTJOB_EXECUTION_ID : BIGINT «PK, FK»SHORT_CONTEXT : VARCHAR(2500)SERIALIZED_CONTEXT : TEXTBATCH_STEP_EXECUTION_CONTEXTSTEP_EXECUTION_ID : BIGINT «PK, FK»SHORT_CONTEXT : VARCHAR(2500)SERIALIZED_CONTEXT : TEXT \ No newline at end of file diff --git a/spring-batch-docs/modules/ROOT/pages/schema-appendix.adoc b/spring-batch-docs/modules/ROOT/pages/schema-appendix.adoc index 34056a578d..cc5320f1c6 100644 --- a/spring-batch-docs/modules/ROOT/pages/schema-appendix.adoc +++ b/spring-batch-docs/modules/ROOT/pages/schema-appendix.adoc @@ -22,7 +22,7 @@ variations in how individual database vendors handle data types. The following i shows an ERD model of all six tables and their relationships to one another: .Spring Batch Meta-Data ERD -image::meta-data-erd.png[Spring Batch Meta-Data ERD, scaledwidth="60%"] +image::meta-data-erd.svg[Spring Batch Meta-Data ERD, scaledwidth="60%"] [[exampleDDLScripts]] === Example DDL Scripts @@ -322,7 +322,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT ( The following list describes each column: * `JOB_EXECUTION_ID`: Foreign key representing the `JobExecution` to which the context -belongs. There may be more than one row associated with a given execution. +belongs. It is also the primary key, so there can be only one row per job execution. * `SHORT_CONTEXT`: A string version of the `SERIALIZED_CONTEXT`. * `SERIALIZED_CONTEXT`: The entire context, serialized. @@ -351,7 +351,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( The following list describes each column: * `STEP_EXECUTION_ID`: Foreign key representing the `StepExecution` to which the context -belongs. There may be more than one row associated with a given execution. +belongs. It is also the primary key, so there can be only one row per step execution. * `SHORT_CONTEXT`: A string version of the `SERIALIZED_CONTEXT`. * `SERIALIZED_CONTEXT`: The entire context, serialized. diff --git a/spring-batch-docs/src/main/models/meta-data-erd.puml b/spring-batch-docs/src/main/models/meta-data-erd.puml new file mode 100644 index 0000000000..668291652e --- /dev/null +++ b/spring-batch-docs/src/main/models/meta-data-erd.puml @@ -0,0 +1,86 @@ +@startuml +' Regenerate with PlantUML 1.2026.9 from the repository root: +' java -jar plantuml.jar -tsvg -o ../../../modules/ROOT/assets/images spring-batch-docs/src/main/models/meta-data-erd.puml +!pragma layout smetana +hide circle +skinparam linetype ortho +skinparam shadowing false +skinparam defaultFontName SansSerif +skinparam classBackgroundColor white +skinparam classHeaderBackgroundColor #E8EEF2 +skinparam classBorderColor #4B5963 +skinparam ArrowColor #4B5963 + +entity "BATCH_JOB_INSTANCE" as jobInstance { + * JOB_INSTANCE_ID : BIGINT <> + -- + VERSION : BIGINT + * JOB_NAME : VARCHAR(100) + * JOB_KEY : VARCHAR(32) +} + +entity "BATCH_JOB_EXECUTION" as jobExecution { + * JOB_EXECUTION_ID : BIGINT <> + -- + VERSION : BIGINT + * JOB_INSTANCE_ID : BIGINT <> + * CREATE_TIME : DATETIME(6) + START_TIME : DATETIME(6) + END_TIME : DATETIME(6) + STATUS : VARCHAR(10) + EXIT_CODE : VARCHAR(2500) + EXIT_MESSAGE : VARCHAR(2500) + LAST_UPDATED : DATETIME(6) +} + +entity "BATCH_JOB_EXECUTION_PARAMS" as jobParams { + * JOB_EXECUTION_ID : BIGINT <> + * PARAMETER_NAME : VARCHAR(100) + * PARAMETER_TYPE : VARCHAR(100) + PARAMETER_VALUE : VARCHAR(2500) + * IDENTIFYING : CHAR(1) +} + +entity "BATCH_STEP_EXECUTION" as stepExecution { + * STEP_EXECUTION_ID : BIGINT <> + -- + * VERSION : BIGINT + * STEP_NAME : VARCHAR(100) + * JOB_EXECUTION_ID : BIGINT <> + * CREATE_TIME : DATETIME(6) + START_TIME : DATETIME(6) + END_TIME : DATETIME(6) + 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(2500) + EXIT_MESSAGE : VARCHAR(2500) + LAST_UPDATED : DATETIME(6) +} + +entity "BATCH_JOB_EXECUTION_CONTEXT" as jobContext { + * JOB_EXECUTION_ID : BIGINT <> + -- + * SHORT_CONTEXT : VARCHAR(2500) + SERIALIZED_CONTEXT : TEXT +} + +entity "BATCH_STEP_EXECUTION_CONTEXT" as stepContext { + * STEP_EXECUTION_ID : BIGINT <> + -- + * SHORT_CONTEXT : VARCHAR(2500) + SERIALIZED_CONTEXT : TEXT +} + +jobInstance ||..o{ jobExecution +jobExecution ||..o{ stepExecution +jobExecution ||..o{ jobParams +jobExecution ||--|| jobContext +stepExecution ||--|| stepContext +@enduml