Vor Fremdschlüsselzuweisung trans_id verwaiste Einträge in orderitems löschen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 15 Jan 2013 13:46:30 +0000 (14:46 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 16 Jan 2013 09:45:03 +0000 (10:45 +0100)
sql/Pg-upgrade2/orderitems_delivery_order_items_invoice_foreign_keys.sql

index 0de00c5..ed1b017 100644 (file)
@@ -10,6 +10,8 @@ UPDATE orderitems           SET project_id = NULL WHERE project_id NOT IN (SELEC
 UPDATE delivery_order_items SET project_id = NULL WHERE project_id NOT IN (SELECT id FROM project);
 UPDATE invoice              SET project_id = NULL WHERE project_id NOT IN (SELECT id FROM project);
 
+DELETE FROM orderitems WHERE trans_id NOT IN (SELECT id FROM oe);
+
 ALTER TABLE orderitems           ADD FOREIGN KEY (trans_id)        REFERENCES oe            (id);
 ALTER TABLE orderitems           ADD FOREIGN KEY (project_id)      REFERENCES project       (id);
 ALTER TABLE orderitems           ADD FOREIGN KEY (pricegroup_id)   REFERENCES pricegroup    (id);