Bug 27821: Make sanitize_zero_date support datetime and timestamp

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2021-03-01 11:14:32 +01:00
parent 782ae18779
commit 3e3803ee20
1 changed files with 17 additions and 5 deletions

View File

@ -23670,11 +23670,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;