【问题标题】:Can we create multiple MySQL Instances in one flask application?我们可以在一个烧瓶应用程序中创建多个 MySQL 实例吗?
【发布时间】: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 实例。

【问题讨论】:

    标签: python mysql flask config


    【解决方案1】:

    您很可能希望在单个数据库中创建多个表,而不是创建多个数据库。

    否则,这些将有所帮助: https://flask-appbuilder.readthedocs.io/en/latest/multipledbs.html Configuring Flask-SQLAlchemy to use multiple databases with Flask-Restless

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2015-03-12
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多