Bug 23813: (bug 18925 follow-up) Remove invalid circ rules to avoid FK constraints...
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 22 Oct 2019 10:42:09 +0000 (12:42 +0200)
committerFridolin Somers <fridolin.somers@biblibre.com>
Fri, 15 Nov 2019 07:54:16 +0000 (08:54 +0100)
commitfa96485296b2d3bf9a5f2bea73b811a023bc5e6f
tree1559eae0b9f86a6bd8fce0c54f38a604cb2cfcff
parent7e2e827c9e45806266148e32914aa5970210d949
Bug 23813: (bug 18925 follow-up) Remove invalid circ rules to avoid FK constraints to fail

There is not FK constraints on the itemtype, categorycode and branchcode
columns of the issuingrules table, because of the '*' value we use for
default.
We created the new table circulation_rules with those constraints, and
when we moved the rules for maxissueqty, the INSERT failed.

To avoid the FK constraints to fail we are going to delete the invalid
rows before.

It could lead to data lost, but this situation certainly comes from a
bad data manipulation at some point of the history of the installation.

Test plan:
git reset --hard 1e4f442442844cfaf17f5b06f122f6259d5fee92 # before 18.12.00.020
reset_all

insert into branches(branchcode, branchname) values('rmme', 'rmme');
insert into categories (categorycode, description) values ('rmme', 'rmme');
insert into itemtypes (itemtype, description) values('rmme', 'rmme');

Go to http://pro.kohadev.org/cgi-bin/koha/admin/smart-rules.pl
Create a new rule for the patron category
Create a new rule for the item type
Copy all the default rule to the new library
Create other rules for "Default checkout, hold policy by patron category" and "Default holds policy by item type" using this patron's category and itemtype.
Same for patrons' categories and itemtypes you will not delete.

delete from branches where branchcode="rmme";
delete from categories where categorycode="rmme";
delete from itemtypes where itemtype="rmme";

git checkout master
and execute the DB process.

=> With this patch applied you will not get the error and the rules will
be moved correctly.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit ff3d7b9f8e27a1c8547012f062daccc33b12dc27)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
installer/data/mysql/updatedatabase.pl