DBSession.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from sqlalchemy import create_engine ,Integer,String,Column
  2. from sqlalchemy.orm import sessionmaker
  3. from sqlalchemy.ext.declarative import declarative_base
  4. from contextlib import contextmanager
  5. HOST = 'rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com'
  6. PORT = '3306'
  7. DATABASE = 'devops'
  8. USERNAME = 'devops'
  9. PASSWORD = 'devops@123456'
  10. MYSQL_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset=utf8".format(username=USERNAME,
  11. password=PASSWORD,
  12. host=HOST, port=PORT,
  13. db=DATABASE)
  14. Base = declarative_base()
  15. engine = create_engine(MYSQL_URI)
  16. session_factory = sessionmaker(bind=engine)
  17. @contextmanager
  18. def session_maker(session=None):
  19. try:
  20. if session is None:
  21. session = session_factory()
  22. yield session
  23. except:
  24. session.rollback()
  25. raise
  26. else:
  27. session.commit()
  28. finally:
  29. session.close()