| 1234567891011121314151617181920212223242526 |
- import os
- from sqlalchemy import create_engine
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy.orm import sessionmaker, Session
- from app.config.config import settings
- DATABASE_URL = settings.database_url
- engine = create_engine(DATABASE_URL, pool_size=20, max_overflow=50, pool_recycle=3600)
- SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
- Base = declarative_base()
- # 创建所有表(如果有新的模型类,会自动创建相应的表)
- def init_db():
- Base.metadata.create_all(bind=engine)
- def get_db():
- db = SessionLocal()
- try:
- yield db
- finally:
- db.close()
|