from collections.abc import AsyncGenerator from sqlalchemy.ext.asyncio import ( AsyncEngine, create_async_engine, async_sessionmaker, AsyncSession, ) from utils.db_utils import get_database_url_and_connect_args database_url, connect_args = get_database_url_and_connect_args() sql_engine: AsyncEngine = create_async_engine(database_url, connect_args=connect_args) async_session_maker = async_sessionmaker(sql_engine, expire_on_commit=False) async def get_async_session() -> AsyncGenerator[AsyncSession, None]: async with async_session_maker() as session: yield session async def create_db_and_tables(): """No-op: migrations are now handled by Alembic.""" pass