Pull to refresh

Comments 7

Можете что-нибудь посоветовать на замену SQLAlchemy? Уж больно она замороченная

Очень вам рекомендую с ней разобраться. Это на данный момент лучшая библиотека для работы с БД. Хоть у нее и нету никаких скрытых удобных плюшек как у многих ORM. Я и сам когда первый раз столкнулся, то испугался документацию, ее сложность и запутанность. Но на деле вы будете пользоваться лишь частью всей этой функциональности. В целом с уверенными знаниями SQL ее освоить не так уж сложно. Если не она, то Django-ORM может стать неплохой альтернативой. Потому что в ней можно неплохо так оптимизировать все запросы, если вдруг возникнет необходимость. Другие библиотеки рекомендовать не буду. Т.к. я в свое время пробовал некоторые и выделять особо нечего. Возможно что-то новенькое и появилось, давно не проверял. Рекомендую выбирать библиотеку под свой уровень и по кол-ву звёздочек на Гите, с большего не ошибётесь, но SqlAlchemy определенно маст хэв.

Я ее уже использовал для 2-3 проектов в проде, но каждый раз думал, может есть что-нибудь попроще :) с SQL на ты

А чем не устривают библиотки типа pyodbc?

Это ведь драйвер базы данных, а SQLAlchemy – это sql-builder и ORM, работающая поверх него

Очень заинтересовала ваша статья, т.к. сам сейчас использую данные библиотеки и данный подход сам использовал, но в чуть меньшем масштабе, запрашивал все данные из таблица, а джоинил дополнительные только в том случае, если это требуется в запросе от клиента. Но есть замечание - если допустить в схемах возможность рекурсивного query, то мы получим джоины к джоинам к джоинам:

{
  users {
    id
    groups {
      users {
        id
      }
    }
  }
}

Как вариант запоминать отношения, которые мы уже заджоинили и в случае дублирование не джоинить их повторно. Ну или как минимум внимательно следить за схемами, чтобы они не допускали рекурсии

вообще, то что у вас такие схемы валидны уже само по себе является ошибкой. При хорошей архитектуре такого просто не должно быть.

Sign up to leave a comment.

Articles