From d8cf223084c26d11e979b12c7ddf1e7c3cb9daa4 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 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Signed-off-by: Joonas Kylmälä Signed-off-by: Martin Renvoize --- 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