Browse Source

Bug 26911: (bug 18936 follow-up) Remove invalid data before copying the circ rules

UPDATE: changed queries to not touch * values

To test:
 1 - Checkout 19.11.x and reset_all
 2 - Add a new patron category, itemtype, and branch to your system
 3 - Create issuing rules using thise 3 values, and others
 4 - Delete the new category, itemtype and branch
 5 - Checkout master
 6 - Restart_all
 7 - updatedatabase
 8 - you get errors
 9 - repeat 1-5
10 - apply patch
11 - restart_all
12 - updatedatabase
13 - no errors!

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
20.11.x
Jonathan Druart 4 years ago
parent
commit
31e38bc371
  1. 15
      installer/data/mysql/updatedatabase.pl

15
installer/data/mysql/updatedatabase.pl

@ -20707,6 +20707,21 @@ if( CheckVersion( $DBversion ) ) {
note
);
$dbh->do(q|
DELETE i FROM issuingrules i
LEFT JOIN itemtypes it ON i.itemtype=it.itemtype
WHERE it.itemtype IS NULL AND i.itemtype!='*'
|);
$dbh->do(q|
DELETE i FROM issuingrules i
LEFT JOIN branches b ON i.branchcode=b.branchcode
WHERE b.branchcode IS NULL AND i.branchcode!='*'
|);
$dbh->do(q|
DELETE i FROM issuingrules i
LEFT JOIN categories c ON i.categorycode=c.categorycode
WHERE c.categorycode IS NULL AND i.categorycode!='*'
|);
if ( column_exists( 'issuingrules', 'categorycode' ) ) {
foreach my $column ( @columns ) {
$dbh->do("

Loading…
Cancel
Save