Bug 15084: DB Changes - add currency.archived and FK on aqorders.currency
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 29 Oct 2015 14:55:23 +0000 (14:55 +0000)
committerBrendan A Gallagher <brendan@bywatersolutions.com>
Thu, 3 Mar 2016 20:39:02 +0000 (20:39 +0000)
See the comment for details.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
installer/data/mysql/atomicupdate/bug_15084-add_fk_for_currency.sql [new file with mode: 0644]

diff --git a/installer/data/mysql/atomicupdate/bug_15084-add_fk_for_currency.sql b/installer/data/mysql/atomicupdate/bug_15084-add_fk_for_currency.sql
new file mode 100644 (file)
index 0000000..d3e00c1
--- /dev/null
@@ -0,0 +1,8 @@
+-- Add the new currency.archived column
+alter table currency add column archived tinyint(1) default 0;
+-- Set currency=NULL if empty (just in case)
+update aqorders set currency=NULL where currency="";
+-- Insert the missing currency and mark them as archived before adding the FK
+insert into currency(currency, archived) select distinct currency, 1 from aqorders where currency not in (select currency from currency);
+-- And finally add the FK
+alter table aqorders add foreign key (currency) references currency(currency) on delete set null on update set null;