我正在关注 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/