mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Speed up recorder startup by making schema query read only (#113987)
This commit is contained in:
parent
bbb80caed3
commit
68e170284f
@ -181,7 +181,7 @@ def _get_schema_version(session: Session) -> int | None:
|
|||||||
def get_schema_version(session_maker: Callable[[], Session]) -> int | None:
|
def get_schema_version(session_maker: Callable[[], Session]) -> int | None:
|
||||||
"""Get the schema version."""
|
"""Get the schema version."""
|
||||||
try:
|
try:
|
||||||
with session_scope(session=session_maker()) as session:
|
with session_scope(session=session_maker(), read_only=True) as session:
|
||||||
return _get_schema_version(session)
|
return _get_schema_version(session)
|
||||||
except Exception as err: # pylint: disable=broad-except
|
except Exception as err: # pylint: disable=broad-except
|
||||||
_LOGGER.exception("Error when determining DB schema version: %s", err)
|
_LOGGER.exception("Error when determining DB schema version: %s", err)
|
||||||
@ -1771,9 +1771,11 @@ def _initialize_database(session: Session) -> bool:
|
|||||||
def initialize_database(session_maker: Callable[[], Session]) -> bool:
|
def initialize_database(session_maker: Callable[[], Session]) -> bool:
|
||||||
"""Initialize a new database."""
|
"""Initialize a new database."""
|
||||||
try:
|
try:
|
||||||
with session_scope(session=session_maker()) as session:
|
with session_scope(session=session_maker(), read_only=True) as session:
|
||||||
if _get_schema_version(session) is not None:
|
if _get_schema_version(session) is not None:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
with session_scope(session=session_maker()) as session:
|
||||||
return _initialize_database(session)
|
return _initialize_database(session)
|
||||||
|
|
||||||
except Exception as err: # pylint: disable=broad-except
|
except Exception as err: # pylint: disable=broad-except
|
||||||
|
Loading…
x
Reference in New Issue
Block a user