epic-s6ts
[kivitendo-erp.git] / sql / Pg-upgrade2 / orderitems_delivery_order_items_invoice_foreign_keys.sql
1 -- @tag: orderitems_delivery_order_items_invoice_foreign_keys
2 -- @description: Fremdschlüssel für Tabellen oderitems, delivery_order_items, invoice
3 -- @depends: release_3_0_0
4 UPDATE orderitems           SET pricegroup_id = NULL WHERE pricegroup_id = 0;
5 UPDATE delivery_order_items SET pricegroup_id = NULL WHERE pricegroup_id = 0;
6 UPDATE invoice              SET pricegroup_id = NULL WHERE pricegroup_id = 0;
7
8 UPDATE orderitems           SET project_id = NULL WHERE project_id NOT IN (SELECT id FROM project);
9 UPDATE delivery_order_items SET project_id = NULL WHERE project_id NOT IN (SELECT id FROM project);
10 UPDATE invoice              SET project_id = NULL WHERE project_id NOT IN (SELECT id FROM project);
11
12 DELETE FROM orderitems WHERE trans_id NOT IN (SELECT id FROM oe);
13
14 ALTER TABLE orderitems           ADD FOREIGN KEY (trans_id)        REFERENCES oe            (id);
15 ALTER TABLE orderitems           ADD FOREIGN KEY (project_id)      REFERENCES project       (id);
16 ALTER TABLE orderitems           ADD FOREIGN KEY (pricegroup_id)   REFERENCES pricegroup    (id);
17 ALTER TABLE orderitems           ADD FOREIGN KEY (price_factor_id) REFERENCES price_factors (id);
18
19 ALTER TABLE delivery_order_items ADD FOREIGN KEY (pricegroup_id)   REFERENCES pricegroup    (id);
20
21 ALTER TABLE invoice              ADD FOREIGN KEY (project_id)      REFERENCES project       (id);
22 ALTER TABLE invoice              ADD FOREIGN KEY (pricegroup_id)   REFERENCES pricegroup    (id);
23 ALTER TABLE invoice              ADD FOREIGN KEY (price_factor_id) REFERENCES price_factors (id);