fix(migration): add CHECK constraint on text length (defense in depth)
V18: text column now has CHECK (length(text) <= 10000) to enforce the 10,000 character limit at the database level, complementing the application-level enforcement in TranscriptionService.sanitizeText(). Fixes @Nora: "DB constraint catches anything the application misses" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@ CREATE TABLE transcription_blocks (
|
|||||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
annotation_id UUID NOT NULL REFERENCES document_annotations(id) ON DELETE RESTRICT,
|
annotation_id UUID NOT NULL REFERENCES document_annotations(id) ON DELETE RESTRICT,
|
||||||
document_id UUID NOT NULL REFERENCES documents(id) ON DELETE CASCADE,
|
document_id UUID NOT NULL REFERENCES documents(id) ON DELETE CASCADE,
|
||||||
text TEXT NOT NULL DEFAULT '',
|
text TEXT NOT NULL DEFAULT '' CHECK (length(text) <= 10000),
|
||||||
label VARCHAR(200),
|
label VARCHAR(200),
|
||||||
sort_order INTEGER NOT NULL DEFAULT 0,
|
sort_order INTEGER NOT NULL DEFAULT 0,
|
||||||
version INTEGER NOT NULL DEFAULT 0,
|
version INTEGER NOT NULL DEFAULT 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user