Mercurial
view love/poppy/utils/database.py @ 198:008ca7780c8a
S3 upload got it to work.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Sat, 14 Feb 2026 16:18:14 -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)