Koha-clms/installer/data/mysql/db_revs/211200037.pl

47 lines
1.9 KiB
Perl
Executable File

use Modern::Perl;
return {
bug_number => "27253",
description => "Fix definition of borrowers.updated_on and deletedborrowers.updated_on",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out)};
my $rv = $dbh->do(q{
UPDATE borrowers
SET updated_on = GREATEST(
COALESCE(date_renewed, FROM_UNIXTIME(1)),
COALESCE(dateenrolled, FROM_UNIXTIME(1)),
COALESCE(lastseen, FROM_UNIXTIME(1))
)
WHERE updated_on IS NULL
});
say $out sprintf('Updated all NULL values of borrowers.updated_on to GREATEST(date_renewed, dateenrolled, lastseen): %d rows updated', $rv);
$rv = $dbh->do(q{
UPDATE deletedborrowers
SET updated_on = GREATEST(
COALESCE(date_renewed, FROM_UNIXTIME(1)),
COALESCE(dateenrolled, FROM_UNIXTIME(1)),
COALESCE(lastseen, FROM_UNIXTIME(1))
)
WHERE updated_on IS NULL
});
say $out sprintf('Updated all NULL values of borrowers.updated_on to GREATEST(date_renewed, dateenrolled, lastseen): %d rows updated', $rv);
$dbh->do(q{
ALTER TABLE borrowers
MODIFY updated_on timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
COMMENT 'time of last change could be useful for synchronization with external systems (among others)'
});
say $out 'Fixed definition of borrowers.updated_on';
$dbh->do(q{
ALTER TABLE deletedborrowers
MODIFY updated_on timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
COMMENT 'time of last change could be useful for synchronization with external systems (among others)'
});
say $out 'Fixed definition of deletedborrowers.updated_on';
},
};