无限星辰工作室-客户无限互联网动力之源

标题: Flask+SQLAlchemy多Mysql库配置 [打印本页]

作者: crx349    时间: 2020-7-2 23:47
标题: Flask+SQLAlchemy多Mysql库配置
config.py
  1. # mysql
  2. MYSQL = {"HOST": "127.0.0.1",
  3.          'PORT': "3306",
  4.          'USER': "xmspace.net",
  5.          'PASSWD': "xmspace.net",
  6.          'DB': "xmspace"}

  7. MYSQL_BIND ={
  8.     'devops' : 'mysql://{}:{}@{}:{}/{}'.format('xmspace','xmspace.net','127.0.0.1','3306', 'xmspace'),
  9.     'game' : 'mysql://{}:{}@{}:{}/{}'.format('xmspace1','xmspace.net','127.0.0.1','3306', 'xmspace1'),
  10. }
复制代码


app.py


  1. def init_db(app):
  2.     '''
  3.     加载数据库
  4.     :param app:
  5.     :return:
  6.     '''
  7.     app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://{}:{}@{}:{}/{}'.format(config.MYSQL['USER'],
  8.                                                                             config.MYSQL['PASSWD'],
  9.                                                                             config.MYSQL['HOST'],
  10.                                                                             config.MYSQL['PORT'], config.MYSQL['DB'])
  11.     app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 跟踪对象的修改,在本例中用不到调高运行效率,所以设置为False
  12.     app.config['SQLALCHEMY_BINDS'] = config.MYSQL_BIND
  13.     app.config['SQLALCHEMY_ECHO'] = True
  14.     db.init_app(app)
复制代码


实际models下使用
  1. class Xmspace(db.model):
  2.     __bind_key__ = 'game' #选择连接池
  3.     __tablename__ = 'xmspace'

  4.     Id = db.Column(db.BigInteger, primary_key=True, info='ID')
  5.    
复制代码





欢迎光临 无限星辰工作室-客户无限互联网动力之源 (https://xmspace.net/) Powered by Discuz! X3.4