diff --git a/backend/app/core/database.py b/backend/app/core/database.py new file mode 100644 index 0000000..788d918 --- /dev/null +++ b/backend/app/core/database.py @@ -0,0 +1,25 @@ +"""Database configuration.""" +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker +from app.core.config import settings + +# Create database engine +engine = create_engine( + settings.DATABASE_URL, + connect_args={"check_same_thread": False} if "sqlite" in settings.DATABASE_URL else {} +) + +# Create session factory +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +# Create base class for models +Base = declarative_base() + +def get_db(): + """Dependency to get database session.""" + db = SessionLocal() + try: + yield db + finally: + db.close()