database.py 627 B

123456789101112131415161718192021222324
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.ext.declarative import declarative_base
  3. from sqlalchemy.orm import sessionmaker
  4. ## ENV LOAD
  5. SQLALCHEMY_DATABASE_URL = 'mysql://choozmo:pAssw0rd@db.ptt.cx:3306/AI_anchor?charset=utf8mb4'
  6. engine = create_engine(SQLALCHEMY_DATABASE_URL)
  7. SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
  8. Base = declarative_base()
  9. # Dependency
  10. def get_db_session():
  11. db = SessionLocal()
  12. try:
  13. yield db
  14. except:
  15. db.rollback()
  16. raise
  17. finally:
  18. db.close()
  19. ### define database session, deal with database setup and connection