From 3e6dc3ed70a3ed13476094bdd51ec6d0549f734a Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 5 Feb 2020 12:19:34 +0000 Subject: [PATCH] Bug 24592: Database Update --- installer/data/mysql/account_credit_types.sql | 2 +- .../data/mysql/atomicupdate/bug_24592.perl | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 installer/data/mysql/atomicupdate/bug_24592.perl diff --git a/installer/data/mysql/account_credit_types.sql b/installer/data/mysql/account_credit_types.sql index 5cf04abb15..70a51629d8 100644 --- a/installer/data/mysql/account_credit_types.sql +++ b/installer/data/mysql/account_credit_types.sql @@ -4,7 +4,7 @@ INSERT INTO account_credit_types ( code, description, can_be_added_manually, is_ ('FORGIVEN', 'Forgiven', 1, 1), ('CREDIT', 'Credit', 1, 1), ('REFUND', 'A refund applied to a patrons fine', 0, 1), -('LOST_RETURN', 'Lost item fee refund', 0, 1), +('LOST_FOUND', 'Lost item fee refund', 0, 1), ('PURCHASE', 'Purchase', 0, 1); INSERT INTO authorised_values (category,authorised_value,lib) VALUES ('PAYMENT_TYPE','CASH','Cash'); diff --git a/installer/data/mysql/atomicupdate/bug_24592.perl b/installer/data/mysql/atomicupdate/bug_24592.perl new file mode 100644 index 0000000000..d079bb801b --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_24592.perl @@ -0,0 +1,41 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + + # Add LOST_FOUND debit type + $dbh->do(qq{ + INSERT IGNORE INTO + account_credit_types ( code, description, can_be_added_manually, is_system ) + VALUES + ('LOST_FOUND', 'Lost item fee refund', 0, 1) + }); + + # Migrate LOST_RETURN to LOST_FOUND + $dbh->do(qq{ + UPDATE + accountlines + SET + credit_type_code = 'LOST_FOUND' + WHERE + credit_type_code = 'LOST_RETURN' + }); + + # Migrate LOST + RETURNED to LOST + FOUND + $dbh->do(qq{ + UPDATE + accountlines + SET + status = 'FOUND' + WHERE + debit_type_code = 'LOST' + AND + status = 'RETURNED' + }); + + # Drop LOST_RETURNED credit type + $dbh->do(qq{ + DELETE FROM account_credit_types WHERE code = 'LOST_RETURN' + }); + + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 24592 - Update LOST_RETURN to LOST_FOUND)\n"; +} -- 2.20.1