import logging import os from typing import Annotated from fastapi import Depends from kontor_schema import Base from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, Session connect_string = ('mariadb+mariadbconnector://{}:{}@{}:{}/{}'.format( os.environ.get('DB_USER', 'kontor'), os.environ.get('DB_PASSWORD', 'kontor'), os.environ.get('DB_HOST', 'mariadb'), os.environ.get('DB_PORT', 3306), os.environ.get('DB_NAME', 'kontor') )) engine = create_engine(connect_string) SessionLocal = sessionmaker(bind=engine) Base.metadata.create_all(bind=engine, checkfirst=True) def get_db(): logging.info("get_db") with SessionLocal() as db: yield db SessionDep = Annotated[Session, Depends(get_db)]