【发布时间】:2020-07-06 22:07:31
【问题描述】:
我有两个数据库,分别是 xyz 和 abc。问题是我想要两个 MySQL 实例使用一个 Flask 应用程序。 这就是我初始化一个 MySQL 实例的方式:
app = Flask(__name__)
app.config['MYSQL_HOST']='localhost'
app.config['MYSQL_USER']='root'
app.config['MYSQL_PASSWORD']='abcd'
app.config['MYSQL_DB'] = 'xyz'
mysql_xyz = MySQL(app)
我有另一个数据库让我们说'abc' 当我试图通过以下方式覆盖“MYSQL_DB”时:
app.config['MYSQL_DB'] = 'abc'
mysql_abc = MySQL(app)
我收到以下错误:
调试中间件在某个点在流式响应中捕获异常 已经发送了响应标头的位置。 MySQLdb._exceptions.OperationalError: (2006, '')
但是,另一种选择是在同一个脚本文件 app.py 下完全创建不同的应用程序
app1 = Flask(__name__)
app1.config['MYSQL_HOST']='localhost'
app1.config['MYSQL_USER']='root'
app1.config['MYSQL_PASSWORD']='abcd'
app1.config['MYSQL_DB'] = 'abc'
mysql_abc = MySQL(app1)
这很好用。 谁能告诉我如何覆盖“MYSQL_DB”配置的值并仅使用一个应用程序变量创建另一个 mysql 实例。
【问题讨论】: