-- ============================================================================
-- KundenKarte Module Update 3.4.1
-- Fix: UNIQUE KEY uk_kundenkarte_societe_system um fk_contact erweitern
-- Ohne den Fix kann ein System nicht gleichzeitig auf Kunden- und Kontaktebene
-- existieren (Duplicate entry Fehler).
-- ============================================================================

-- 1. NULL-Werte in fk_contact auf 0 normalisieren (Kunden-Ebene)
UPDATE llx_kundenkarte_societe_system SET fk_contact = 0 WHERE fk_contact IS NULL;

-- 2. Spalte NOT NULL mit Default 0 setzen
ALTER TABLE llx_kundenkarte_societe_system MODIFY COLUMN fk_contact integer DEFAULT 0 NOT NULL;

-- 3. Alten UNIQUE KEY entfernen
ALTER TABLE llx_kundenkarte_societe_system DROP INDEX uk_kundenkarte_societe_system;

-- 4. Neuen UNIQUE KEY mit fk_contact anlegen
ALTER TABLE llx_kundenkarte_societe_system ADD UNIQUE INDEX uk_kundenkarte_societe_system (fk_soc, fk_contact, fk_system);
