From 9ade36dd3b1e4373b3bdfa6bd5ea2a09e29c6568 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 6 Jun 2026 11:51:29 +0200 Subject: [PATCH] docs(db): annotate person-delete ON DELETE behaviour in DB diagrams (#684) Annotate SET NULL on documents.sender_id and CASCADE on document_receivers.person_id, and add the new transcription_block_mentioned_persons -> persons person_id FK (CASCADE) to both db-relationships.puml and db-orm.puml. Co-Authored-By: Claude Opus 4.8 --- docs/architecture/db/db-orm.puml | 7 ++++--- docs/architecture/db/db-relationships.puml | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/architecture/db/db-orm.puml b/docs/architecture/db/db-orm.puml index cb37a60f..48578048 100644 --- a/docs/architecture/db/db-orm.puml +++ b/docs/architecture/db/db-orm.puml @@ -260,7 +260,7 @@ package "Transcription" { entity transcription_block_mentioned_persons { block_id : UUID <> - person_id : UUID NOT NULL + person_id : UUID NOT NULL <> -- display_name : VARCHAR(200) NOT NULL } @@ -386,9 +386,9 @@ invite_token_group_ids }o--|| invite_tokens : invite_token_id invite_token_group_ids }o--|| user_groups : group_id ' Document relationships -documents }o--o| persons : sender_id +documents }o--o| persons : sender_id (ON DELETE SET NULL) document_receivers }o--|| documents : document_id -document_receivers }o--|| persons : person_id +document_receivers }o--|| persons : person_id (ON DELETE CASCADE) document_tags }o--|| documents : document_id document_tags }o--|| tag : tag_id document_versions }o--|| documents : document_id @@ -420,6 +420,7 @@ transcription_blocks }o--o| app_users : updated_by transcription_block_versions }o--|| transcription_blocks : block_id transcription_block_versions }o--o| app_users : changed_by transcription_block_mentioned_persons }o--|| transcription_blocks : block_id +transcription_block_mentioned_persons }o--|| persons : person_id (ON DELETE CASCADE) ' OCR relationships ocr_job_documents }o--|| ocr_jobs : job_id diff --git a/docs/architecture/db/db-relationships.puml b/docs/architecture/db/db-relationships.puml index d6f4b542..82056761 100644 --- a/docs/architecture/db/db-relationships.puml +++ b/docs/architecture/db/db-relationships.puml @@ -79,9 +79,9 @@ invite_token_group_ids }o--|| invite_tokens : invite_token_id invite_token_group_ids }o--|| user_groups : group_id ' Document relationships -documents }o--o| persons : sender_id +documents }o--o| persons : sender_id (ON DELETE SET NULL) document_receivers }o--|| documents : document_id -document_receivers }o--|| persons : person_id +document_receivers }o--|| persons : person_id (ON DELETE CASCADE) document_tags }o--|| documents : document_id document_tags }o--|| tag : tag_id document_versions }o--|| documents : document_id @@ -113,6 +113,7 @@ transcription_blocks }o--o| app_users : updated_by transcription_block_versions }o--|| transcription_blocks : block_id transcription_block_versions }o--o| app_users : changed_by transcription_block_mentioned_persons }o--|| transcription_blocks : block_id +transcription_block_mentioned_persons }o--|| persons : person_id (ON DELETE CASCADE) ' OCR relationships ocr_job_documents }o--|| ocr_jobs : job_id