用于将 Falcon 应用程序与 SQLAlchemy 集成的中间件。
项目描述
Falcon 中间件:SQLAlchemy 集成
falcon-sqla包提供了一个用于管理 SQLAlchemy 会话的中间件组件。管理器组件还可以用作基础构建块或更复杂用例的配方,例如利用多个数据库绑定的应用程序。
安装
$ pip install falcon-sqla
用法
falcon_sqla会话管理器可以通过两种方式使用:
作为Falcon 中间件组件。
作为上下文管理器显式提供数据库会话。
配置
创建一个 SQLAlchemy 引擎。
将引擎作为第一个参数传递给Manager()初始化程序。
如果将管理器用作中间件组件,请将其中间件 属性传递给 falcon.App的中间件列表:
engine = create_engine('dialect+driver://my/database')
manager = falcon_sqla.Manager(engine)
app = falcon.App(middleware=[manager.middleware])
# The database session will be available as req.context.session
上下文管理器
falcon_sqla.Manager还可以使用session_scope()上下文管理器显式提供数据库会话:
# Somewhere inside a responder
with self.manager.session_scope(req, resp) as session:
# Use the session
# <...>
session_scope()也可以用作请求-响应周期之外的独立会话上下文:
with self.manager.session_scope() as session:
# Use the session
# <...>
自定义垂直分区
开箱即用支持简单随机选择读取和写入数据库副本。使用add_engine()方法指示Manager在运行时绑定选择逻辑中包含提供的引擎:
manager = falcon_sqla.Manager(engine)
read_replica = create_engine('dialect+driver://my/database.replica')
manager.add_engine(read_replica, 'r')
可以重写Manager.get_bind()方法来为更复杂的用例实现自定义引擎选择逻辑。
另请参阅此 SQLAlchemy 配方: 自定义垂直分区。
关于猎鹰
Falcon是面向 Python 开发人员的极简 REST API 和微服务框架,专注于大规模的可靠性、正确性和性能。
关于 SQLAlchemy
SQLAlchemy是 Python SQL 工具包和对象关系映射器,它为应用程序开发人员提供了 SQL 的全部功能和灵活性。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
falcon-sqla-0.3.0.tar.gz
(10.8 kB
查看哈希)
内置分布
falcon_sqla-0.3.0-py3-none-any.whl
(14.3 kB
查看哈希)
关
falcon_sqla -0.3.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | c64900288c20023ac9a153bd599f4eaf75941ee92f8a154192dae6e1c4f278b3 |
|
| MD5 | 21fb19b94b97a3f6aeecacc7f4ba9a3d |
|
| 布莱克2-256 | 46573da140c0425ae981868d471eb5436ab00458b5b4a04f32106e91d7cb15b6 |