diff --git a/homeassistant/components/recorder/auto_repairs/schema.py b/homeassistant/components/recorder/auto_repairs/schema.py index 2b533b79e6c..aa2fc1bb8cb 100644 --- a/homeassistant/components/recorder/auto_repairs/schema.py +++ b/homeassistant/components/recorder/auto_repairs/schema.py @@ -6,7 +6,7 @@ from collections.abc import Iterable, Mapping import logging from typing import TYPE_CHECKING -from sqlalchemy import MetaData +from sqlalchemy import MetaData, Table from sqlalchemy.exc import OperationalError from sqlalchemy.orm import DeclarativeBase from sqlalchemy.orm.attributes import InstrumentedAttribute @@ -94,9 +94,9 @@ def _validate_table_schema_has_correct_collation( with session_scope(session=instance.get_session(), read_only=True) as session: table = table_object.__tablename__ metadata_obj = MetaData() + reflected_table = Table(table, metadata_obj, autoload_with=instance.engine) connection = session.connection() - metadata_obj.reflect(bind=connection) - dialect_kwargs = metadata_obj.tables[table].dialect_kwargs + dialect_kwargs = reflected_table.dialect_kwargs # Check if the table has a collation set, if its not set than its # using the server default collation for the database