Bug 27253: (follow-up) Fix UNIXTIME(0) in db_revs/211200037.pl

MariaDB [koha_myclone]> update borrowers set updated_on=COALESCE( NULL, FROM_UNIXTIME(0) ) where borrowernumber=51;
ERROR 1292 (22007): Incorrect datetime value: '1970-01-01 00:00:00' for column `koha_myclone`.`borrowers`.`updated_on` at row 1

MariaDB [koha_myclone]> update borrowers set updated_on=COALESCE( NULL, FROM_UNIXTIME(1) ) where borrowernumber=51;
Query OK, 1 row affected (0.008 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested by switching updated_on to datetime. Remove NOT NULL, etc.
Copied dbrev to atomicupdate folder.
Resulted in:
    Updated all NULL values of borrowers.updated_on to GREATEST(date_renewed, dateenrolled, lastseen): 51 rows updated

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Marcel de Rooy 2022-04-25 10:29:05 +00:00 committed by Fridolin Somers
parent 7d71fb052a
commit fb41768d9f

View file

@ -10,9 +10,9 @@ return {
my $rv = $dbh->do(q{
UPDATE borrowers
SET updated_on = GREATEST(
COALESCE(date_renewed, FROM_UNIXTIME(0)),
COALESCE(dateenrolled, FROM_UNIXTIME(0)),
COALESCE(lastseen, FROM_UNIXTIME(0))
COALESCE(date_renewed, FROM_UNIXTIME(1)),
COALESCE(dateenrolled, FROM_UNIXTIME(1)),
COALESCE(lastseen, FROM_UNIXTIME(1))
)
WHERE updated_on IS NULL
});
@ -21,9 +21,9 @@ return {
$rv = $dbh->do(q{
UPDATE deletedborrowers
SET updated_on = GREATEST(
COALESCE(date_renewed, FROM_UNIXTIME(0)),
COALESCE(dateenrolled, FROM_UNIXTIME(0)),
COALESCE(lastseen, FROM_UNIXTIME(0))
COALESCE(date_renewed, FROM_UNIXTIME(1)),
COALESCE(dateenrolled, FROM_UNIXTIME(1)),
COALESCE(lastseen, FROM_UNIXTIME(1))
)
WHERE updated_on IS NULL
});