-- Fix Foreign Key Constraints für Multi-Document-Support -- Diese Felder sollten NULL sein können, da eine Section entweder zu einer -- Rechnung ODER einem Angebot ODER einem Auftrag gehört, aber nie zu allen gleichzeitig. -- 1. Foreign Key Constraints temporär entfernen ALTER TABLE llx_facture_lines_manager DROP FOREIGN KEY IF EXISTS `1`; ALTER TABLE llx_facture_lines_manager DROP FOREIGN KEY IF EXISTS `2`; ALTER TABLE llx_facture_lines_manager DROP FOREIGN KEY IF EXISTS `3`; ALTER TABLE llx_facture_lines_manager DROP FOREIGN KEY IF EXISTS `fk_facture_lines_manager_facture`; ALTER TABLE llx_facture_lines_manager DROP FOREIGN KEY IF EXISTS `fk_facture_lines_manager_propal`; ALTER TABLE llx_facture_lines_manager DROP FOREIGN KEY IF EXISTS `fk_facture_lines_manager_commande`; -- 2. Felder auf NULL ändern ALTER TABLE llx_facture_lines_manager MODIFY COLUMN fk_facture INT NULL DEFAULT NULL, MODIFY COLUMN fk_propal INT NULL DEFAULT NULL, MODIFY COLUMN fk_commande INT NULL DEFAULT NULL; -- 3. Foreign Key Constraints wieder hinzufügen (mit ON DELETE CASCADE) ALTER TABLE llx_facture_lines_manager ADD CONSTRAINT fk_facture_lines_manager_facture FOREIGN KEY (fk_facture) REFERENCES llx_facture(rowid) ON DELETE CASCADE; ALTER TABLE llx_facture_lines_manager ADD CONSTRAINT fk_facture_lines_manager_propal FOREIGN KEY (fk_propal) REFERENCES llx_propal(rowid) ON DELETE CASCADE; ALTER TABLE llx_facture_lines_manager ADD CONSTRAINT fk_facture_lines_manager_commande FOREIGN KEY (fk_commande) REFERENCES llx_commande(rowid) ON DELETE CASCADE;