Boolean-Felder in acc_trans auf not null setzen
authorG. Richardson <information@kivitendo-premium.de>
Tue, 9 Apr 2013 10:39:40 +0000 (12:39 +0200)
committerG. Richardson <information@kivitendo-premium.de>
Tue, 9 Apr 2013 10:39:40 +0000 (12:39 +0200)
Es gibt dort zwar ein "default false", aber Buchungen von vor dem
"default false" können noch auf NULL stehen.

Dadurch kommen manche Berichte wie die Bilanz, wo z.B. explizit auf
"cb_transaction is false" geprüft wird, auf falsche Zahlen.

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

diff --git a/sql/Pg-upgrade2/acc_trans_booleans_not_null.sql b/sql/Pg-upgrade2/acc_trans_booleans_not_null.sql
new file mode 100644 (file)
index 0000000..983e53d
--- /dev/null
@@ -0,0 +1,14 @@
+-- @tag: acc_trans_booleans_not_null
+-- @description: Alte acc_trans boolean-Einträge mit NULL-Werten auf false setzen
+-- @depends: release_3_0_0
+-- @charset: utf-8
+
+UPDATE acc_trans SET cleared        = 'f' where cleared        IS NULL;
+UPDATE acc_trans SET ob_transaction = 'f' where ob_transaction IS NULL;
+UPDATE acc_trans SET cb_transaction = 'f' where cb_transaction IS NULL;
+UPDATE acc_trans SET fx_transaction = 'f' where fx_transaction IS NULL;
+
+ALTER TABLE acc_trans ALTER cleared        SET NOT NULL;
+ALTER TABLE acc_trans ALTER ob_transaction SET NOT NULL;
+ALTER TABLE acc_trans ALTER cb_transaction SET NOT NULL;
+ALTER TABLE acc_trans ALTER fx_transaction SET NOT NULL;