From 091f6c759257d59837d85c227c93a4aae6b6f57c Mon Sep 17 00:00:00 2001 From: Marcel Date: Tue, 28 Apr 2026 23:42:05 +0200 Subject: [PATCH] migration(transcription): add unique constraint on (block_id, person_id) sidecar Co-Authored-By: Claude Sonnet 4.6 --- .../db/migration/V57__add_tbmp_unique_constraint.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 backend/src/main/resources/db/migration/V57__add_tbmp_unique_constraint.sql diff --git a/backend/src/main/resources/db/migration/V57__add_tbmp_unique_constraint.sql b/backend/src/main/resources/db/migration/V57__add_tbmp_unique_constraint.sql new file mode 100644 index 00000000..b1945c73 --- /dev/null +++ b/backend/src/main/resources/db/migration/V57__add_tbmp_unique_constraint.sql @@ -0,0 +1,5 @@ +-- Prevent duplicate sidecar rows for the same (block, person) pair. +-- @ElementCollection uses DELETE+INSERT per update so normal JPA writes can't +-- create duplicates, but a raw-SQL import or concurrent bypass of JPA could. +ALTER TABLE transcription_block_mentioned_persons + ADD CONSTRAINT uq_tbmp_block_person UNIQUE (block_id, person_id);