Mercurial
view love/poppy/utils/database.py @ 180:3a4ebe4552bf
Remove playground file as it is not needed to be tracked.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Mon, 19 Jan 2026 08:05:02 -0800 |
| parents | cf9caa4abc3e |
| children |
line wrap: on
line source
from sqlmodel import SQLModel, create_engine from sqlalchemy.ext.asyncio import ( create_async_engine, async_sessionmaker, AsyncEngine, AsyncSession, ) import os ASYNC_DATABASE_URL = os.getenv("ASYNC_DATABASE_URL", "sqlite+aiosqlite:///./poppy.db") SYNC_DATABASE_URL = os.getenv("SYNC_DATABASE_URL", "sqlite:///./poppy.db") # For migrations, we can probably use async? sync_engine = create_engine( SYNC_DATABASE_URL, echo=False, future=True, ) async_engine: AsyncEngine = create_async_engine( ASYNC_DATABASE_URL, echo=False, future=True, ) AsyncSessionLocal = async_sessionmaker( bind=async_engine, class_=AsyncSession, expire_on_commit=False, ) async def get_session(): async with AsyncSessionLocal() as session: yield session def create_db_and_tables(): SQLModel.metadata.create_all(sync_engine)