Использование БД
Last updated
Last updated
В боте для работы с БД используется ORM SQLAlchemy в асинхронном режиме.
Прежде чем использовать БД, необходимо добавить разрешение use_db
или require_db
в файл info.yaml
!
Для использования БД модуль должен объявить модели в соответствии с документацией SQLAlchemy, а позже указать объект метаданных в property-методе db_meta
:
После чего, при успешной инициализации БД, в атрибуте db
объекта модуля появляется объект Database
, содержащий атрибуты
engine
- объект типа AsyncEngine
(SQLAlchemy)
session_maker
- объект типа async_sessionmaker
(SQLAlchemy)
Для каждого модуля используется своя БД. По умолчанию используется SQLite, однако это может быть изменено в конфиге бота (пока не поддерживается в полной мере)
Далее оперировать базой данных можно также, как в документации SQLAlchemy, используя объекты engine
и session_maker
. Пример: