matinsn2000's picture
Updated search engine for generating album
8ad42f5
raw
history blame contribute delete
781 Bytes
"""Database configuration and session management"""
from sqlmodel import SQLModel, create_engine, Session
from typing import Generator
import os
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./photos.db")
# SQLite-specific connect_args
connect_args = {"check_same_thread": False} if "sqlite" in DATABASE_URL else {}
engine = create_engine(
DATABASE_URL,
echo=False,
connect_args=connect_args,
)
# Session factory for manual session creation
def SessionLocal():
return Session(engine)
def create_db_and_tables():
"""Create all database tables"""
SQLModel.metadata.create_all(engine)
def get_session() -> Generator[Session, None, None]:
"""Dependency for getting database session"""
with Session(engine) as session:
yield session