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 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-06 11:51:29 +02:00
parent 149d23a5e6
commit 131cdb6a2b
2 changed files with 7 additions and 5 deletions

View File

@@ -260,7 +260,7 @@ package "Transcription" {
entity transcription_block_mentioned_persons { entity transcription_block_mentioned_persons {
block_id : UUID <<FK>> block_id : UUID <<FK>>
person_id : UUID NOT NULL person_id : UUID NOT NULL <<FK>>
-- --
display_name : VARCHAR(200) 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 invite_token_group_ids }o--|| user_groups : group_id
' Document relationships ' 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--|| 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--|| documents : document_id
document_tags }o--|| tag : tag_id document_tags }o--|| tag : tag_id
document_versions }o--|| documents : document_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--|| transcription_blocks : block_id
transcription_block_versions }o--o| app_users : changed_by transcription_block_versions }o--o| app_users : changed_by
transcription_block_mentioned_persons }o--|| transcription_blocks : block_id transcription_block_mentioned_persons }o--|| transcription_blocks : block_id
transcription_block_mentioned_persons }o--|| persons : person_id (ON DELETE CASCADE)
' OCR relationships ' OCR relationships
ocr_job_documents }o--|| ocr_jobs : job_id ocr_job_documents }o--|| ocr_jobs : job_id

View File

@@ -79,9 +79,9 @@ invite_token_group_ids }o--|| invite_tokens : invite_token_id
invite_token_group_ids }o--|| user_groups : group_id invite_token_group_ids }o--|| user_groups : group_id
' Document relationships ' 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--|| 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--|| documents : document_id
document_tags }o--|| tag : tag_id document_tags }o--|| tag : tag_id
document_versions }o--|| documents : document_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--|| transcription_blocks : block_id
transcription_block_versions }o--o| app_users : changed_by transcription_block_versions }o--o| app_users : changed_by
transcription_block_mentioned_persons }o--|| transcription_blocks : block_id transcription_block_mentioned_persons }o--|| transcription_blocks : block_id
transcription_block_mentioned_persons }o--|| persons : person_id (ON DELETE CASCADE)
' OCR relationships ' OCR relationships
ocr_job_documents }o--|| ocr_jobs : job_id ocr_job_documents }o--|| ocr_jobs : job_id