diff --git a/backend/app/database.py b/backend/app/database.py new file mode 100644 index 0000000..7e19a72 --- /dev/null +++ b/backend/app/database.py @@ -0,0 +1,22 @@ +"""Database connection and session management.""" +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker +from app.config import settings + +engine = create_engine( + settings.DATABASE_URL, + connect_args={"check_same_thread": False} if "sqlite" in settings.DATABASE_URL else {} +) + +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +Base = declarative_base() + +def get_db(): + """Get database session.""" + db = SessionLocal() + try: + yield db + finally: + db.close()