Files
MediaManager/backend/src/database/__init__.py
2025-03-28 15:22:36 +01:00

28 lines
673 B
Python

import logging
from typing import Annotated, Any, Generator
from fastapi import Depends
from sqlmodel import SQLModel, Session, create_engine
from database.config import DbConfig
log = logging.getLogger(__name__)
config = DbConfig()
db_url = "postgresql+psycopg" + "://" + config.USER + ":" + config.PASSWORD + "@" + config.HOST + ":" + str(
config.PORT) + "/" + config.DBNAME
engine = create_engine(db_url, echo=False)
def init_db() -> None:
SQLModel.metadata.create_all(engine)
def get_session() -> Generator[Session, Any, None]:
with Session(engine) as session:
yield session
DbSessionDependency = Annotated[Session, Depends(get_session)]