Не удается подключиться к базе данных SQLite через Gino (асинхронная оболочка sqlalchemy) - PullRequest
1 голос
/ 01 апреля 2019

Я следовал документации для 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, или что-то не так?

1 Ответ

1 голос
/ 01 апреля 2019

Прямо наверху их README:

Теперь (в начале 2018 года) GINO поддерживает только один диалект asyncpg.

Конечно, сейчас начало 2019 года, но, похоже, ничего не изменилось:

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

В asyncpg.py они импортируют PGDialect из sqlalchemy и расширяют его, чтобы создать класс с именем AsyncPGDialect, который определяет метод init_pool.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...