用 Binds 操作多个数据库

本文介绍了如何使用 Flask-SQLAlchemy 的 Binds 特性来操作多个数据库。从0.12版本开始,该库支持预配置多个数据库连接。binds 是执行SQL的引擎,可以为每个模型指定不同的bind key来关联特定数据库。创建和删除表的操作可以在所有bind上进行,也可以通过bind参数定制。模型声明时,通过bind_key属性指定使用的数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用 Binds 操作多个数据库

从 0.12 开始, Flask-SQLAlchemy 可以容易地连接到多个数据库。为了实现 这个功能,预配置了 SQLAlchemy 来支持多个“binds”。

什么是 binds ?在 SQLAlchemy 中,一个 bind 是可以执行 SQL 语句 且通常是一 个连接或引擎的东西。在 Flask-SQLAlchemy 中, bind 总是背后自动为你创建好 的引擎。这些引擎中的每个之后都会关联一个短键(bind key)。这个键会在模型 声明时使用来把一个模型关联到一个特定引擎。

如果没有为模型指定 bind key ,会默认连接(即 SQLALCHEMY_DATABASE_URI 配置的值)。

示例配置

下面的配置声明了三个数据库连接:特殊的默认值和另外两个分别名为 users (用于用户)和 appmeat (连接到一个提供只读访问应用内部数据的 sqlite 数据库):

SQLALCHEMY_DATABASE_URI = 'postgres://localhost/main'
SQLALCHEMY_BINDS = {
    
    
    'users':        'mysqldb://localhost/users',
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值