@@ -, +, @@ aqorders.currency --- .../data/mysql/atomicupdate/bug_15084-add_fk_for_currency.sql | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_15084-add_fk_for_currency.sql --- a/installer/data/mysql/atomicupdate/bug_15084-add_fk_for_currency.sql +++ a/installer/data/mysql/atomicupdate/bug_15084-add_fk_for_currency.sql @@ -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 table 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; --