You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
523 B
Python

# backend/app/db.py
from sqlmodel import Session, SQLModel, create_engine
from .config import get_settings
settings = get_settings()
# SQLite + FastAPI: check_same_thread=False 필요
connect_args = (
{"check_same_thread": False} if settings.database_url.startswith("sqlite") else {}
)
engine = create_engine(settings.database_url, echo=False, connect_args=connect_args)
def init_db() -> None:
SQLModel.metadata.create_all(engine)
def get_session():
with Session(engine) as session:
yield session