深入浅出Flask(52):flask_sqlalchemy的同时连接多个数据库

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入浅出Flask(52):flask_sqlalchemy的同时连接多个数据库相关的知识,希望对你有一定的参考价值。

在开发的过程中,总会遇到复杂的问题,不是想像的那么简单。比如有时候旧的代码是使用SQLite的数据库,现在新的数据库要使用mysql,那么就需要同时连接两个数据库使用。又比如说自己使用的mysql数据库,但是与客户那边进行整合的时候是一个SQL SERVER的数据库。因此同时连接多个数据库的机会还是比较多的,也是一种常常遇到的情况。如果此时使用flask sqlalchemy来开发,就不需要慌张,也不需要害怕,更不有烦恼,因为它已经内部支持多种数据库的连接。

Flask提供了一种叫做binds的机制来连接多个数据库。如果在单一的数据库里,默认是采用一种数据库绑定,采用SQLALCHEMY_DATABASE_URI来定义,这时所有创建、访问的表,都是使用这个引擎。如果有多个数据库的需求,就必须另外的参数出来支持,这个就是SQLALCHEMY_BINDS参数,它的使用如下:

SQLALCHEMY_BINDS = {

    \'users\':        \'sqlite:///test.db\',

以上是关于深入浅出Flask(52):flask_sqlalchemy的同时连接多个数据库的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出Flask(43): Flask应用创建配置参数命令

深入浅出Flask:Flask的蓝图插件化

深入浅出Flask:flask使用请求的全局对象g

深入浅出Flask(42):click库在Flask里加载插件命令

深入浅出Flask(46):flask_sqlalchemy的简单关系

深入浅出Flask(47):flask_sqlalchemy的应用动态绑定