app.database
Database Connection Module.
This module initializes the asynchronous database engine and provides a dependency for FastAPI to inject database sessions into route handlers.
1""" 2Database Connection Module. 3 4This module initializes the asynchronous database engine and provides a dependency 5for FastAPI to inject database sessions into route handlers. 6""" 7 8import os 9 10from loguru import logger 11from sqlalchemy.ext.asyncio import create_async_engine 12from sqlmodel.ext.asyncio.session import AsyncSession 13 14from app.env import get_database_url 15 16_DATABASE_URL = os.environ.get("DATABASE_URL", get_database_url()) 17_connect_args = {"check_same_thread": False} if "sqlite" in _DATABASE_URL else {} 18 19engine = create_async_engine(_DATABASE_URL, connect_args=_connect_args) 20"""SQLModel Database Engine""" 21 22logger.info("Database Engine Running.") 23 24 25async def get_session(): 26 """ 27 Generator dependency that yields an asynchronous database session. 28 """ 29 async with AsyncSession(engine) as session: 30 yield session
engine =
<sqlalchemy.ext.asyncio.engine.AsyncEngine object>
SQLModel Database Engine
async def
get_session():
26async def get_session(): 27 """ 28 Generator dependency that yields an asynchronous database session. 29 """ 30 async with AsyncSession(engine) as session: 31 yield session
Generator dependency that yields an asynchronous database session.