Fremdschlüssel für gl.department_id
authorNiclas Zimmermann <niclas@kivitendo-premium.de>
Thu, 7 Mar 2013 09:22:46 +0000 (10:22 +0100)
committerNiclas Zimmermann <niclas@kivitendo-premium.de>
Thu, 7 Mar 2013 09:22:46 +0000 (10:22 +0100)
In der gl gab es für department_id einen Standardwert 0. Dieser
wurde entfernt und stattdessen wurde ein Fremdschlüssel auf
department.id gesetzt.

Behebt Bug #2197.

sql/Pg-upgrade2/add_fk_to_gl.sql [new file with mode: 0644]

diff --git a/sql/Pg-upgrade2/add_fk_to_gl.sql b/sql/Pg-upgrade2/add_fk_to_gl.sql
new file mode 100644 (file)
index 0000000..46d30a4
--- /dev/null
@@ -0,0 +1,14 @@
+-- @tag: add_fk_to_gl
+-- @description: Setzt Datenbank-Fremdschlüssel von gl.department_id auf department.id
+-- @depends: release_3_0_0
+-- @charset: utf-8
+
+-- update all invalid departments in gl:
+UPDATE gl SET department_id = NULL WHERE department_id NOT IN (SELECT id FROM department);
+
+-- drop default value:
+ALTER TABLE gl ALTER department_id DROP DEFAULT;
+
+-- set foreign key constraint:
+ALTER TABLE gl ADD FOREIGN KEY (department_id) REFERENCES department(id);
+