Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions fastapi_sqla/sqla.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from sqlalchemy import engine_from_config, text
from sqlalchemy.engine import Connection, Engine
from sqlalchemy.ext.declarative import DeferredReflection
from sqlalchemy.orm import configure_mappers
from sqlalchemy.orm.session import Session as SqlaSession
from sqlalchemy.orm.session import sessionmaker
from starlette.types import ASGIApp, Message, Receive, Scope, Send
Expand Down Expand Up @@ -81,6 +82,11 @@ def startup(key: str = _DEFAULT_SESSION_KEY):

logger.info("engine startup", engine_key=key, engine=engine_or_connection)

# Initialize all mappers, so that any errors are raised here,
# rather than during the first ORM-enabled operation.
configure_mappers()
logger.info("ORM configured")


@contextmanager
def open_session(key: str = _DEFAULT_SESSION_KEY) -> Generator[SqlaSession, None, None]:
Expand Down