38 lines
861 B
Python
38 lines
861 B
Python
# coding=utf-8
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
|
|
Base = declarative_base()
|
|
|
|
try:
|
|
from loguru import logger
|
|
except ImportError:
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
|
|
session = None
|
|
|
|
|
|
def get_db_session():
|
|
"""MySQL 会话(服务端/后台使用)。"""
|
|
global session
|
|
if session is not None:
|
|
return session
|
|
try:
|
|
from dao.settings import CAIHUI_DATABASE
|
|
from dao.dbutils import get_db_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
import models # noqa: F401
|
|
engine = get_db_engine(**CAIHUI_DATABASE)
|
|
Session = sessionmaker(bind=engine)
|
|
Base.metadata.create_all(engine)
|
|
session = Session()
|
|
return session
|
|
except Exception as e:
|
|
logger.error('Create Session Failed for %s' % e)
|
|
return None
|
|
|
|
|
|
|
|
|
|
|