Без N+1
DataLoader на каждый запрос. Полная выборка со всей вложенностью — ровно 6 SQL-запросов, по одному на таблицу.
GraphQL API · тестовое задание
Сервис на NestJS, Prisma и PostgreSQL: одна анкета со связанными ссылками, навыками, опытом и проектами — отдаётся одним GraphQL-запросом любой вложенности.
Выполнить запрос →DataLoader на каждый запрос. Полная выборка со всей вложенностью — ровно 6 SQL-запросов, по одному на таблицу.
Своё правило валидации отсекает слишком вложенные запросы до того, как они дойдут до базы.
Наружу уходят только коды из белого списка. Внутренние падения маскируются.
Многоступенчатая сборка, запуск не от root, миграции и сид — при старте контейнера.