database.py 450 B

12345678910111213141516171819202122
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.orm import sessionmaker, declarative_base
  3. from app.core.config import settings
  4. # SQLAlchemy 2.0 style
  5. engine = create_engine(
  6. settings.DATABASE_URI,
  7. pool_pre_ping=True,
  8. echo=False
  9. )
  10. SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
  11. Base = declarative_base()
  12. def get_db():
  13. db = SessionLocal()
  14. try:
  15. yield db
  16. finally:
  17. db.close()