From a6517d78f80621b74c3c1db4d8225ead72f20d8a Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 16 Mar 2021 11:36:17 +0100 Subject: [PATCH] Bug 27963: (bug 23463 follow-up) Fix touch_all_items.pl This script is used to fix inconsistencies in the items table. Prior to bug 23463, ModItem dealt with that. We need to make some attributes as dirty to make sure the Koha::Item->store method will fix them. Test plan: Be familiar with how touch_all_items is supposed to work and confirm that the different inconsistencies are fixed. --- misc/maintenance/touch_all_items.pl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/misc/maintenance/touch_all_items.pl b/misc/maintenance/touch_all_items.pl index 648190502e..dbf1609221 100755 --- a/misc/maintenance/touch_all_items.pl +++ b/misc/maintenance/touch_all_items.pl @@ -83,8 +83,15 @@ $sth_fetch->execute(); # fetch info from the search while (my ($biblionumber, $itemnumber, $itemcallnumber) = $sth_fetch->fetchrow_array){ - - eval { Koha::Items->find($itemnumber)->itemcallnumber($itemcallnumber)->store; }; + + my $item = Koha::Items->find($itemnumber); + next unless $item; + + for my $c (qw( itemcallnumber cn_source ) ){ + $item->make_column_dirty($c); + } + + eval { $item->store }; my $modok = $@ ? 0 : 1; if ($modok) { -- 2.20.1