Hi all,

After reading the MySQL documentation on the
exlicit_defaults_for_timestamp, it appears that we can skip the check
on explicit_defaults_for_timestamp
= 1
setting the column to accept NULL explicitly. For example:

op.alter_column(table_name='chart', column_name='last_modified',
type_=mysql.TIMESTAMP(fsp=6)) -->
op.alter_column(table_name='chart', column_name='last_modified',
type_=mysql.TIMESTAMP(fsp=6), nullable=True)

Here's why:
>From MySQL doc (when explicit_defaults_for_timestamp is set to True):
"TIMESTAMP columns not explicitly declared with the NOT NULL attribute are
automatically declared with the NULL attribute and permit NULL values.
Assigning such a column a value of NULL sets it to NULL, not the current

Thanks and happy to shoot a PR if it makes sense.


Reply via email to