-- Verhindert campaign_recipients-Zeilen ohne list_id UND segment_id -- NOT VALID: läuft ohne Table-Lock, bestehende Zeilen beim nächsten VALIDATE CONSTRAINT prüfen ALTER TABLE campaign_recipients DROP CONSTRAINT IF EXISTS recipient_has_one; ALTER TABLE campaign_recipients ADD CONSTRAINT recipient_has_one CHECK ( (list_id IS NOT NULL AND segment_id IS NULL) OR (segment_id IS NOT NULL AND list_id IS NULL) ) NOT VALID;