Merge branch 'main' of ssh://gitea.meghsakha.com:22222/Benjamin_Boenisch/breakpilot-compliance
CI / detect-changes (push) Successful in 9s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / build-sha-integrity (push) Successful in 6s
CI / sbom-scan (push) Has been skipped
CI / validate-canonical-controls (push) Successful in 4s
CI / loc-budget (push) Successful in 18s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go (push) Failing after 1m3s
CI / iace-gt-coverage (push) Successful in 18s
CI / test-python-backend (push) Has been skipped
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
CI / nodejs-build (push) Successful in 3m8s

This commit is contained in:
Benjamin Admin
2026-06-20 20:58:33 +02:00
@@ -0,0 +1,27 @@
-- 158_dedup_doc_check_controls.sql
-- Behebt die historische Triplikation von compliance.doc_check_controls
-- (Dump-Artefakt: kein PK/Unique -> identische Zeilen mehrfach; prod 3x).
-- Idempotent + verhindert Wiederkehr. macmini ist bereits dedupt (no-op),
-- prod wird 1713->571 / 1143->381 / 225->75 dedupt.
-- [migration-approved]
-- 1) Dedup: pro (doc_type, control_id) nur die Zeile mit kleinster ctid behalten.
DELETE FROM compliance.doc_check_controls a
USING compliance.doc_check_controls b
WHERE a.ctid > b.ctid
AND a.doc_type IS NOT DISTINCT FROM b.doc_type
AND a.control_id IS NOT DISTINCT FROM b.control_id;
-- 2) Wiederkehr verhindern: Unique-Constraint auf (doc_type, control_id).
DO $do$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint
WHERE conname = 'uq_doc_check_controls_doctype_control'
) THEN
ALTER TABLE compliance.doc_check_controls
ADD CONSTRAINT uq_doc_check_controls_doctype_control
UNIQUE (doc_type, control_id);
END IF;
END
$do$;