Fix v32 schema migration when MySQL global.time_zone is configured with non-UTC timezone (#86867)

* Fix v32 schema migration when MySQL timezone is not UTC

* tweak
pull/87101/head
J. Nick Koston 2023-01-28 17:06:07 -10:00 committed by Paulus Schoutsen
parent 55b5b36c47
commit 85d5ea2eca
1 changed files with 8 additions and 3 deletions

View File

@ -971,7 +971,9 @@ def _migrate_columns_to_timestamp(
result = session.connection().execute(
text(
"UPDATE events set time_fired_ts="
"IF(time_fired is NULL,0,UNIX_TIMESTAMP(time_fired)) "
"IF(time_fired is NULL,0,"
"UNIX_TIMESTAMP(CONVERT_TZ(time_fired,'+00:00',@@global.time_zone))"
") "
"where time_fired_ts is NULL "
"LIMIT 250000;"
)
@ -982,8 +984,11 @@ def _migrate_columns_to_timestamp(
result = session.connection().execute(
text(
"UPDATE states set last_updated_ts="
"IF(last_updated is NULL,0,UNIX_TIMESTAMP(last_updated)), "
"last_changed_ts=UNIX_TIMESTAMP(last_changed) "
"IF(last_updated is NULL,0,"
"UNIX_TIMESTAMP(CONVERT_TZ(last_updated,'+00:00',@@global.time_zone)) "
"), "
"last_changed_ts="
"UNIX_TIMESTAMP(CONVERT_TZ(last_changed,'+00:00',@@global.time_zone)) "
"where last_updated_ts is NULL "
"LIMIT 250000;"
)