Files
Ballet-Production-Suite/backend/database.py

22 lines
661 B
Python

import os
from sqlmodel import create_engine, SQLModel, Session
from dotenv import load_dotenv
load_dotenv()
# Default to SQLite for easy development if not specified
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./data/ballet_app.db")
# Use check_same_thread=False only for SQLite
connect_args = {"check_same_thread": False} if DATABASE_URL.startswith("sqlite") else {}
engine = create_engine(DATABASE_URL, connect_args=connect_args, echo=True)
def create_db_and_tables():
from . import models # Ensure models are registered
SQLModel.metadata.create_all(engine)
def get_session():
with Session(engine) as session:
yield session