Bug 27821: Make sanitize_zero_date support datetime and timestamp

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3e3803ee20)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Jonathan Druart 2021-03-01 11:14:32 +01:00 committed by Fridolin Somers
parent f48d56d7c6
commit 3652f652d2
1 changed files with 17 additions and 5 deletions

View File

@ -23616,11 +23616,23 @@ sub CheckVersion {
sub sanitize_zero_date {
my ( $table_name, $column_name ) = @_;
$dbh->do(qq|
UPDATE $table_name
SET $column_name = NULL
WHERE CAST($column_name AS CHAR(10)) = '0000-00-00';
|);
my (undef, $datatype) = $dbh->selectrow_array(qq|
SHOW COLUMNS FROM $table_name WHERE Field = ?|, undef, $column_name);
if ( $datatype eq 'date' ) {
$dbh->do(qq|
UPDATE $table_name
SET $column_name = NULL
WHERE CAST($column_name AS CHAR(10)) = '0000-00-00';
|);
} else {
$dbh->do(qq|
UPDATE $table_name
SET $column_name = NULL
WHERE CAST($column_name AS CHAR(19)) = '0000-00-00 00:00:00';
|);
}
}
exit;