Flask SQLAlchemy多数据库(指定数据库)执行原生sql

Flask 1427 浏览

    当我们执行sql的时候需要操作多个数据库的时候,我们就需要指定数据库对象啦,要不然使用的就是默认数据库链接对象。

    首先在配置文件中配置数据库bind:

#!/usr/bin/env python36
# -*- coding: utf-8 -*-
# filename: config.py

class DevConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@127.0.0.1:3306/falsk?charset=utf8'
    SQLALCHEMY_BINDS = {
        'users':   'mysqldb://localhost/users',
        'app': 'sqlite:////path/to/app.db'
    }

    然后我们在执行sql的时候自行选择

db.session.execute(sql, bind=db.get_engine(current_app,bind='bindname')).fetchall()

    当然,我们还可以自行封装来显得更优雅,这里就不多说了。

|  版权声明:本文为博主原创文章,转载请注明出处。