跳转到主要内容

支持多种数据库的异步操作

项目描述

Muffin-Databases – 为 Muffin 框架提供多种数据库的异步支持

Tests Status PYPI Version Python Versions

需求

  • python >= 3.9

安装

Muffin-Databases 应使用pip安装

$ pip install muffin-databases

可选地,您可以使用以下命令安装所需的数据库驱动程序

$ pip install muffin-databases[sqlite]
$ pip install muffin-databases[postgres]
$ pip install muffin-databases[mysql]

驱动程序支持使用asyncpgaiomysqlaiosqlite之一提供。

用法

设置插件并将其连接到您的应用程序

from muffin import Application
from muffin_databases import Plugin as DB

# Create Muffin Application
app = Application('example')

# Initialize the plugin
# As alternative: db = DB(app, **options)
db = DB(url='sqlite:///db.sqlite')
db.setup(app)

就是这样,现在您可以在视图中使用此插件了

@app.route('/items', methods=['GET'])
async def get_items(request):
    """Return a JSON with items from database."""
    rows = await db.fetch_all('SELECT * from items')
    return [dict(row.items()) for row in rows]

@app.route('/items', methods=['POST'])
async def insert_item(request):
    """Store an item into database."""
    data = await request.data()  # parse formdata/json from the request
    await db.execute_many('INSERT INTO items (name, value) VALUES (:name, :value)', values=data)
    return 'OK'

Muffin-Databases插件基于databases。有关更多参考资料,请参阅databases的文档。

选项

名称

默认值

描述

url

"sqlite:///db.sqlite"

数据库连接URL

params

{}

数据库连接参数

您可以在初始化插件时提供选项

db.setup(app, url='postgresql://localhost/example', params={'ssl': True, 'min_size': 5, 'max_size': 20})

或者从 Muffin.Application 配置中设置,使用 DATABASES_ 前缀

DATABASES_URL = 'postgresql://localhost/example'

Muffin.Application 配置选项不区分大小写

错误跟踪器

如果您有任何建议、错误报告或烦恼,请向 https://github.com/klen/muffin-databases/issues 的问题跟踪器报告

贡献

Muffin-Databases 的开发地址: https://github.com/klen/muffin-databases

贡献者

  • klen (Kirill Klenov)

许可证

许可协议: MIT 协议

项目详情


下载文件

下载您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

muffin_databases-0.6.1.tar.gz (4.2 kB 查看哈希值)

上传时间

构建分发

muffin_databases-0.6.1-py3-none-any.whl (4.3 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面