Size: a a a

GraphQL — русскоговорящее сообщество

2018 November 06

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Просто у нас 98% логики не требует таких суперзапросов)
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
Ну вот я и говорю, что строить можно по-разному всё это дело
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
В схеме эти джоины выглядят довольно просто:
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
Осталось построить один запрос на репу со списком этих джоинов один раз и всё
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
У нас до этого был joinMonster, и самое ужасное в этом — добавил таблицу в базу, нужно добавить руками отдельный gql-тип, куда нужно добавить нужные столбцы этой таблицы, указать везде какие типы юзать и тд
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
И к каждым связанным типам нужно руками прописать новый тип для реляций
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
другое дело когда gql генерируется на основе sql-таблицы, а join'ы на основе foreign-ключей
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
это покрывает 98% задач всех наших сайтов
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
плюс subscriptions из коробки работают без каких-либо действий)
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
на основе pg triggers
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
У меня ещё сервер позволяет полные резолверы писать. Т.е. не вызывать 1 резолвер на 1 вызов, а сразу получить в качестве родителя всех родителей (коллекцию) и вернуть потомков, тоже сразу всех
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
а связывание будет уже динамически выстраиваться.
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
я кстати на хабр статью переводил про Hasura
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
там оно сразу готовый json генерит и отдает юзеру
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
резолверы вообще не юзаются
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
у нас с joinMonster была огромная проблема с производительностью
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
т.к. на большой запрос с кучей вложенных данных выполнялись куча резолверов и все это очень медленно работало
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Maxim Makarov
там оно сразу готовый json генерит и отдает юзеру
прямо в базе json генерится))
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
Ну почти во всех языках нет таких проблем
источник