Add SQL index to states.event_id (#12825)

This commit is contained in:
Anders Melchiorsen 2018-03-03 22:54:38 +01:00 committed by Pascal Vizeli
parent e2e10b91a7
commit 339a839dbe
2 changed files with 5 additions and 2 deletions

View file

@ -143,6 +143,9 @@ def _apply_update(engine, new_version, old_version):
_drop_index(engine, "states", "ix_states_entity_id_created")
_create_index(engine, "states", "ix_states_entity_id_last_updated")
elif new_version == 5:
# Create supporting index for States.event_id foreign key
_create_index(engine, "states", "ix_states_event_id")
else:
raise ValueError("No schema migration defined for version {}"
.format(new_version))

View file

@ -16,7 +16,7 @@ from homeassistant.remote import JSONEncoder
# pylint: disable=invalid-name
Base = declarative_base()
SCHEMA_VERSION = 4
SCHEMA_VERSION = 5
_LOGGER = logging.getLogger(__name__)
@ -64,7 +64,7 @@ class States(Base): # type: ignore
entity_id = Column(String(255))
state = Column(String(255))
attributes = Column(Text)
event_id = Column(Integer, ForeignKey('events.event_id'))
event_id = Column(Integer, ForeignKey('events.event_id'), index=True)
last_changed = Column(DateTime(timezone=True), default=datetime.utcnow)
last_updated = Column(DateTime(timezone=True), default=datetime.utcnow,
index=True)