epic-ts
[kivitendo-erp.git] / sql / Pg-upgrade2 / ar_ap_foreign_keys.sql
1 -- @tag: ar_ap_foreign_keys
2 -- @description: Fremdschlüsselverweise für diverse Spalten in ar und ap
3 -- @depends: release_3_0_0
4 ALTER TABLE ar ALTER COLUMN department_id DROP DEFAULT;
5 ALTER TABLE ap ALTER COLUMN department_id DROP DEFAULT;
6
7 UPDATE ar SET cp_id         = NULL WHERE (cp_id         IS NOT NULL) AND (cp_id         NOT IN (SELECT cp_id     FROM contacts));
8 UPDATE ar SET department_id = NULL WHERE (department_id IS NOT NULL) AND (department_id NOT IN (SELECT id        FROM department));
9 UPDATE ar SET employee_id   = NULL WHERE (employee_id   IS NOT NULL) AND (employee_id   NOT IN (SELECT id        FROM employee));
10 UPDATE ar SET language_id   = NULL WHERE (language_id   IS NOT NULL) AND (language_id   NOT IN (SELECT id        FROM language));
11 UPDATE ar SET payment_id    = NULL WHERE (payment_id    IS NOT NULL) AND (payment_id    NOT IN (SELECT id        FROM payment_terms));
12 UPDATE ar SET shipto_id     = NULL WHERE (shipto_id     IS NOT NULL) AND (shipto_id     NOT IN (SELECT shipto_id FROM shipto));
13
14 UPDATE ap SET cp_id         = NULL WHERE (cp_id         IS NOT NULL) AND (cp_id         NOT IN (SELECT cp_id     FROM contacts));
15 UPDATE ap SET department_id = NULL WHERE (department_id IS NOT NULL) AND (department_id NOT IN (SELECT id        FROM department));
16 UPDATE ap SET employee_id   = NULL WHERE (employee_id   IS NOT NULL) AND (employee_id   NOT IN (SELECT id        FROM employee));
17 UPDATE ap SET language_id   = NULL WHERE (language_id   IS NOT NULL) AND (language_id   NOT IN (SELECT id        FROM language));
18 UPDATE ap SET payment_id    = NULL WHERE (payment_id    IS NOT NULL) AND (payment_id    NOT IN (SELECT id        FROM payment_terms));
19
20 ALTER TABLE ar ADD FOREIGN KEY (cp_id)         REFERENCES contacts      (cp_id);
21 ALTER TABLE ar ADD FOREIGN KEY (department_id) REFERENCES department    (id);
22 ALTER TABLE ar ADD FOREIGN KEY (employee_id)   REFERENCES employee      (id);
23 ALTER TABLE ar ADD FOREIGN KEY (language_id)   REFERENCES language      (id);
24 ALTER TABLE ar ADD FOREIGN KEY (payment_id)    REFERENCES payment_terms (id);
25 ALTER TABLE ar ADD FOREIGN KEY (shipto_id)     REFERENCES shipto        (shipto_id);
26
27 ALTER TABLE ap ADD FOREIGN KEY (cp_id)         REFERENCES contacts      (cp_id);
28 ALTER TABLE ap ADD FOREIGN KEY (employee_id)   REFERENCES employee      (id);
29 ALTER TABLE ap ADD FOREIGN KEY (department_id) REFERENCES department    (id);
30 ALTER TABLE ap ADD FOREIGN KEY (language_id)   REFERENCES language      (id);
31 ALTER TABLE ap ADD FOREIGN KEY (payment_id)    REFERENCES payment_terms (id);