Files
telepost/backend/app/database/database.py
T
2026-01-18 21:01:43 +03:00

31 lines
722 B
Python

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from .config import settings
# Create the database engine
engine = create_engine(
settings.DATABASE_URL,
pool_pre_ping=True, # Verify connections before use
pool_recycle=300, # Recycle connections after 5 minutes
)
# Create a configured "SessionLocal" class
SessionLocal = sessionmaker(
autocommit=False,
autoflush=False,
bind=engine
)
# Create a Base class for declarative models
Base = declarative_base()
def get_db():
"""
Dependency to get database session
"""
db = SessionLocal()
try:
yield db
finally:
db.close()