base_model.py 595 B

12345678910111213141516171819202122232425
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.ext.declarative import declarative_base
  3. from sqlalchemy.orm import sessionmaker, Session
  4. from app.config.config import settings
  5. DATABASE_URL = settings.database_url
  6. engine = create_engine(DATABASE_URL)
  7. SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
  8. Base = declarative_base()
  9. # 创建所有表(如果有新的模型类,会自动创建相应的表)
  10. def init_db():
  11. Base.metadata.create_all(bind=engine)
  12. def get_db():
  13. db = SessionLocal()
  14. try:
  15. yield db
  16. finally:
  17. db.close()