python - 无法通过 Gino (异步 sqlalchemy 包装器)连接到 SQLite 数据库

标签 python sqlite sqlalchemy

我正在关注 Gino(异步 sqlalchemy 包装器)的文档,当我尝试连接到 sqlite 数据库时,出现错误。代码如下:

db = Gino()


class Server(db.Model):
    __tablename__ = 'servers'

    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.Unicode(), default='noname')


async def main():
    await db.set_bind('sqlite:///:memory:')
    await db.gino.create_all()

asyncio.get_event_loop().run_until_complete(main())

错误如下:

AttributeError: 'SQLiteDialect_pysqlite' object has no attribute 'init_pool'

这是否意味着 Gino 不支持使用 SQLite 数据库,或者可能出现其他问题?

最佳答案

就在他们的自述文件的顶部:

Now (early 2018) GINO supports only one dialect asyncpg.

诚然,现在已经是 2019 年初了,但这看起来并没有改变:

├── gino
│   ├── dialects
│   │   ├── __init__.py
│   │   ├── asyncpg.py
│   │   └── base.py

asyncpg.py中,他们从sqlalchemy导入PGDialect并从中扩展以创建一个名为AsyncPGDialect的类,该类定义了init_pool 方法。

关于python - 无法通过 Gino (异步 sqlalchemy 包装器)连接到 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55446851/

相关文章:

python - 逗号出现在自定义 Ansible 查找插件返回的值中

objective-c - 使用自动增量插入 FMDB

python - 在 Flask 框架中使用 SQLAlchemy 有何不同

python - 找不到带有 SQLalchemy 数据库的 PostgreSQL

Python - 从输入获取子类。我必须编写一个单独的函数吗?

python - 根据正则表达式匹配替换数据框中的字符串值

python - 遍历列表,组合数量

iphone - iphone模拟器上的sqlite3数据库存储在哪里?

python - 使用 Peewee ORM 从行到列

python - 使用 float 时 SQLAlchemy filter_by 查询失败