Files
clawfort/backend/database.py
2026-02-12 16:50:29 -05:00

28 lines
657 B
Python

from collections.abc import Generator
from sqlalchemy import create_engine
from sqlalchemy.orm import DeclarativeBase, Session, sessionmaker
DATABASE_URL = "sqlite:///./data/clawfort.db"
engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(bind=engine, autocommit=False, autoflush=False)
class Base(DeclarativeBase):
pass
def get_db() -> Generator[Session, None, None]:
db = SessionLocal()
try:
yield db
finally:
db.close()
def init_db() -> None:
from backend.models import NewsItem, NewsTranslation # noqa: F401
Base.metadata.create_all(bind=engine)