К содержимому

База данных

Как использовать базы данных для хранения постоянных данных. ВО время работы плагина бывает необходимость сохранять данные в хранилище, для последующего использования.

Для небольшого проекта накладно тащить полноценную ORM. Все они выглядят достаточно громоздко и приносят пока больше неудобств. Возможно в будущем начнётся использоваться одна из ORM.

Однако в проекте используются похожии на ORM принципы.

Итак, первым делом нужно определить модель данных, в которой мы будем хранить информацию. Для этого воспользуемся классом DMModel:

@dataclass(slots=True)
class UserHello(DBModel):
"""Счётчик приветствий пользователя."""
user_id: int
counter: int = 0

И вопреки ожиданиям, дальше нам следует создать таблицу базы данных. Ждя этого используется класс DBTable.

class HelloTable(DBTable):
def create_table(self) -> None: ...

По традиции название класса оканчивается на Table.

После того как вы создали таблицу, вам обязательно нужно её подключить к клиенту, чтобы он знал о существовании такой таблицы.

client.add_table(HelloTable)

Часто подключение таблицы к клиенту происходит во время запуска плагина.