Как стать автором
Обновить

Комментарии 9

Если в пароле к БД содержится символ "@", то работать ничего не будет?

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

Ссылку на библиотеку в упор не вижу.

В новой версии (0.3.1.1 ) эта и многие другие проблемы исправлены.

Вы указали требование уникальности для логина в телеграмме (user_login UNIQUE). Это может привести к проблемам, ведь логины могут быть изменены и соответственно перезаняты в разные моменты времени. Отсюда следует, что логины лучше либо вообще не использовать в сервисе, либо регулярно актуализировать их.

Сегодня было выпущено обновление библиотеки asyncpg-lite. Теперь она совместима с SQLAlchemy, а asyncpg используется как асинхронный драйвер. Версии ниже 0.3.1.1 больше не доступны. В связи с этим произошли изменения в синтаксисе функций взаимодействия с базой данных PostgreSQL. Постараюсь завтра опубликовать подробную инструкцию взаимодействия с новой версией библиотеки.

asyncpg-lite предоставляет уровень создания таблиц ниже, чем сам SQL: если в SQL можно декларативно сказать, что ты создаёшь таблицу и какие поля ты хочешь в ней видеть, то в какой-нибудь маломальский ОРМ - ты все делаешь через удобные классы. Да, ОРМ в контексте разработки на питоне для заведомо сверхпростых проектов - оверкилл (хотя все ещё очень просто с точки зрения написания кода). Но asyncpg-lite предоставляет слишком сложный способ того, что, подчеркну, в самом SQL делается проще и в одну строку (раз для вас кол-во строк - метрика крутизны).

И это не призыв использовать исключительно ОРМ, это вопрос - зачем тогда нужен интерфейс построения отношений от asyncpg-lite, если чистый даже SQL выглядит лучше? Вот что действительно бесполезный оверхед!

Обратите внимание. Мы добавили 2 строки кода:

И далее проводите вызов двух функций, написанных вами же. Получается это не asyncpg-lite позволяет "делать вызов в 2 строки кода", а вы и вами созданный уровень абстракции. Так можно сделать и вызов в одну строчку, и вообще как душа пожелает, а потом сказать: "Смотрите, нейронка в одну строчку кода:"

import some_neural_network_running_on_import

Библиотека полностью переписана под алхимию. Вы просто не в тренде) Ознакомьтесь, если интересно)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории