View Revisions: Issue #6998

Summary 0006998: Detect support for zero-based date and timestamp columns in MySQL and mark them as NULL-able
Revision 2025-07-18 20:21 by pbelov
Steps To Reproduce -- Set up MySQL to allow ZERO-based dates https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date
-- ... disable strict mode ( remove STRICT_TRANS_TABLES, NO_ZERO_DATE from sql_mode in /etc/mysql/my.cnf )
-- Create table on MySQL
-- Configure to replicate it to PostgreSQL
-- Add a few zero-based values
CREATE TABLE test_zero_datetimes (
  id int NOT NULL,
  created_date date NOT NULL DEFAULT '0000-00-00', -- Invalid ISO value!
  updated_ts timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', -- Invalid ISO value!
  confirmed_time time NOT NULL DEFAULT '00:00:00', -- Midnight is a valid ISO value.
  PRIMARY KEY (id)
) ;

Revision 2025-07-18 16:30 by pbelov
Steps To Reproduce -- Set up MySQL to allow ZERO-based dates https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date
-- ... disable strict mode ( remove STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE from sql_mode in /etc/mysql/my.cnf )
-- Create table on MySQL
-- Configure to replicate it to PostgreSQL
-- Add a few zero-based values
CREATE TABLE test_zero_datetimes (
  id int NOT NULL,
  created_date date NOT NULL DEFAULT '0000-00-00',
  updated_ts timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  confirmed_time time NOT NULL DEFAULT '00:00:00',
  PRIMARY KEY (id)
) ;