fix index

This commit is contained in:
J. Nick Koston
2023-03-09 16:05:55 -10:00
parent 2a773e979e
commit 772b2f6282
2 changed files with 7 additions and 1 deletions

View File

@@ -181,7 +181,9 @@ class Events(Base):
__table_args__ = ( __table_args__ = (
# Used for fetching events at a specific time # Used for fetching events at a specific time
# see logbook # see logbook
Index("ix_events_event_type_time_fired_ts", "event_type", "time_fired_ts"), Index(
"ix_events_event_type_id_time_fired_ts", "event_type_id", "time_fired_ts"
),
Index( Index(
EVENTS_CONTEXT_ID_BIN_INDEX, EVENTS_CONTEXT_ID_BIN_INDEX,
"context_id_bin", "context_id_bin",

View File

@@ -983,6 +983,7 @@ def _apply_update( # noqa: C901
elif new_version == 37: elif new_version == 37:
_add_columns(session_maker, "events", [f"event_type_id {big_int}"]) _add_columns(session_maker, "events", [f"event_type_id {big_int}"])
_create_index(session_maker, "events", "ix_events_event_type_id") _create_index(session_maker, "events", "ix_events_event_type_id")
_create_index(session_maker, "events", "ix_events_event_type_id_timed_fired_ts")
else: else:
raise ValueError(f"No schema migration defined for version {new_version}") raise ValueError(f"No schema migration defined for version {new_version}")
@@ -1337,6 +1338,9 @@ def migrate_event_type_ids(instance: Recorder) -> bool:
if is_done: if is_done:
_drop_index(session_maker, "events", "ix_events_event_type", quiet=True) _drop_index(session_maker, "events", "ix_events_event_type", quiet=True)
_drop_index(
session_maker, "events", "ix_events_event_type_timed_fired_ts", quiet=True
)
_LOGGER.debug("Migrating event_types done=%s", is_done) _LOGGER.debug("Migrating event_types done=%s", is_done)
return is_done return is_done