mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Fix data migration never finishing when database has invalid datetimes (#89474)
* Fix data migration never finishing when database has invalid datetimes If there were impossible datetime values in the database (likely from a manual sqlite to MySQL conversion) the conversion would never complete * Update homeassistant/components/recorder/migration.py
This commit is contained in:
parent
8c2569d2ce
commit
7cb4620671
@ -1072,7 +1072,7 @@ def _migrate_columns_to_timestamp(
|
||||
result = session.connection().execute(
|
||||
text(
|
||||
"UPDATE events set time_fired_ts="
|
||||
"IF(time_fired is NULL,0,"
|
||||
"IF(time_fired is NULL or UNIX_TIMESTAMP(time_fired) is NULL,0,"
|
||||
"UNIX_TIMESTAMP(time_fired)"
|
||||
") "
|
||||
"where time_fired_ts is NULL "
|
||||
@ -1085,7 +1085,7 @@ def _migrate_columns_to_timestamp(
|
||||
result = session.connection().execute(
|
||||
text(
|
||||
"UPDATE states set last_updated_ts="
|
||||
"IF(last_updated is NULL,0,"
|
||||
"IF(last_updated is NULL or UNIX_TIMESTAMP(last_updated) is NULL,0,"
|
||||
"UNIX_TIMESTAMP(last_updated) "
|
||||
"), "
|
||||
"last_changed_ts="
|
||||
@ -1161,7 +1161,7 @@ def _migrate_statistics_columns_to_timestamp(
|
||||
result = session.connection().execute(
|
||||
text(
|
||||
f"UPDATE {table} set start_ts="
|
||||
"IF(start is NULL,0,"
|
||||
"IF(start is NULL or UNIX_TIMESTAMP(start) is NULL,0,"
|
||||
"UNIX_TIMESTAMP(start) "
|
||||
"), "
|
||||
"created_ts="
|
||||
|
Loading…
x
Reference in New Issue
Block a user