diff --git a/backend/src/main/resources/db/migration/V33__add_annotation_bounds_constraint.sql b/backend/src/main/resources/db/migration/V33__add_annotation_bounds_constraint.sql new file mode 100644 index 00000000..608ebe99 --- /dev/null +++ b/backend/src/main/resources/db/migration/V33__add_annotation_bounds_constraint.sql @@ -0,0 +1,12 @@ +-- Enforce valid normalized coordinate ranges for annotation bounding boxes. +-- x and y must be within [0, 1]; width and height must be at least 1% of the +-- document dimension and at most 100%. +-- Consistent with the application-layer minimum draw threshold (0.01). +ALTER TABLE document_annotations + ADD CONSTRAINT chk_annotation_bounds + CHECK ( + x >= 0 AND x <= 1 AND + y >= 0 AND y <= 1 AND + width >= 0.01 AND width <= 1 AND + height >= 0.01 AND height <= 1 + );