Spaces:
Running
Running
File size: 687 Bytes
c6706bd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
"""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,
)
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 |