mbucc / shmig

Database migration tool written in BASH.
BSD 3-Clause "New" or "Revised" License
458 stars 49 forks source link

Establish mariadb compatibility #11

Closed leyyinad closed 8 years ago

leyyinad commented 8 years ago

TIMESTAMP DEFAULT UTC_TIMESTAMP() (line 231) breaks compatibility with Maria DB.

See also http://dba.stackexchange.com/questions/20217/mysql-set-utc-time-as-default-timestamp

mbucc commented 8 years ago

Sorry, my bad. Previous patch was correct.

quoting http://dev.mysql.com/doc/refman/5.5/en/datetime.html: MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as DATETIME.) By default, the current time zone for each connection is the server's time. The time zone can be set on a per-connection basis. As long as the time zone setting remains constant, you get back the same value you store. If you store a TIMESTAMP value, and then change the time zone and retrieve the value, the retrieved value is different from the value you stored. This occurs because the same time zone was not used for conversion in both directions. The current time zone is available as the value of the time_zone system variable. For more information, see Section 10.6, “MySQL Server Time Zone Support”.