kumar-aditya's picture
Upload 60 files
c8f4a46 verified
Raw
History Blame Contribute Delete
775 Bytes
from collections.abc import AsyncGenerator
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
from sqlalchemy.orm import declarative_base
from app.core.config import settings
# Engine setup
engine = create_async_engine(
settings.database_url,
echo=False,
future=True,
connect_args={"check_same_thread": False} if settings.database_url.startswith("sqlite") else {}
)
# Session factory
async_session_maker = async_sessionmaker(
engine, class_=AsyncSession, expire_on_commit=False, autoflush=False
)
Base = declarative_base()
async def get_db() -> AsyncGenerator[AsyncSession, None]:
"""Dependency for getting async database sessions."""
async with async_session_maker() as session:
yield session