From 99d0631dfd189469c28bc3e195af1d97a30d9c08 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 | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/misc/maintenance/touch_all_items.pl b/misc/maintenance/touch_all_items.pl index 648190502e..2519f648b8 100755 --- a/misc/maintenance/touch_all_items.pl +++ b/misc/maintenance/touch_all_items.pl @@ -83,8 +83,17 @@ $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; + + eval { + for my $c (qw( itemcallnumber cn_source location ) ){ + $item->make_column_dirty($c); + } + + $item->store; + }; my $modok = $@ ? 0 : 1; if ($modok) { -- 2.20.1