Николай, посмотри, пожалуйста, последовательность действий: все ли верно понял. Для того, чтобы добавить новую таблицу: 1. Добавляем описание таблицы в prisma https://github.com/prisma-cms/nextjs-nexus/blob/ff3bea887b1cdc902ae0510534ca3927dd057d4d/prisma/schema.prisma 2. prisma:db:push - в БД появляется новая таблица 3. Сюда https://github.com/prisma-cms/nextjs-nexus/tree/master/src/gql добавляем .graphql для новой таблицы 4. Сюда https://github.com/prisma-cms/nextjs-nexus/tree/master/server/nexus/types надо добавить описание таблицы для nexus, который проверяет соответствие типов полей в gql 5. generate:types - генерация кода Правильно понял или что-то забыл? ----------------------- 6. Действия предыдущего поста

И еще: не забудь по завершении всего выполнить еще yarn prisma:migrate:create, чтобы сформировать новую миграцию. То, что ты обновляешь призма-схему и пушишь руками в БД - это еще не формирует скриптов миграции, которые срабатывают на yarn prisma:deploy. Этот момент тоже есть в видео. Только тут важный момент: при создании миграции у тебя будет очищена база данных. Почему так происходит? Потому что ты уже выполнил prisma:db:push и в базе данных уже есть изменения структуры. Нельзя поверх выполнить еще такие же структурные запросы. Поэтому призма удаляет все таблицы, выполняет имеющиеся миграции и создает новую миграцию, накатывает ее и сохранят файл миграции в prisma/migrations/. По этой причине, чтобы не потерять данные, надо делать так: 1. Прежде чем внести какие-либо структурные изменения в БД, снимаешь полный дамп базы. 2. Вносишь изменения. 3. Создаешь миграцию (данные все при этом будут потеряны). 4. Удаляешь все таблицы в базе данных. 5. Выполняешь импорт своего дампа. 6. Выполняешь yarn prisma:deploy чтобы накатить новую миграцию. При этом данные не будут потеряны, если все ОК. Если не ОК, то миграция просто не будет выполнена. То есть в режиме разработки не редко теряется база данных при внесении изменений таким образом, но на боевую yarn prisma:deploy обычно проходит без проблем.

Спасибо, изучаю заново)

Дима, пересматривай начиная с 25 минуты минут 10-15, там все это подробно объясняется (слишком подробно и растянуто, но все же). Уточняю в чем твоя ошибка: >> - Добавил модель Post в schema.prisma - выполнил prisma:db:push - получил новую таблицу в БД Это фаза 1 (работа с базой данных). >> - выполнил generate:types А вот это уже фаза 3, то есть подтягивание GraphQL-API на сторону фронта и формирование методов и типов. Ты пропустил фазу 2 - не поправил GraphQL-API. За это отвечает Nexus. То есть пока ты не обновишь схему для фронтового АПИ, ничего у тебя на фронте нового не появится. Призма - отдельно, GraphQL-API - отдельно.

Николай, всё-таки нужно подтолкнуть в верном направлении) - Добавил модель Post в schema.prisma - выполнил prisma:db:push - получил новую таблицу в БД - выполнил generate:types - ошибок нет, но в папках gql в src никаких изменений нет, в api, соответственно, тоже. Что забыл добавить ,чтобы изменения подхватились и добавились?

Понял, спасибо! Значит буду перебор делать)

Дима, привет! Как это любят говорить на западе: Good catch! :) Поймал багу. Сейчас этого в призме нельзя. Еще не тестировал @prisma/client-3, может там пофиксили. Сам же я не натыкался на такое, потому что в енамы как правило загоняют какие-то константы, а на фронте выводится значение по справочнику или еще как. Ведь если ты захочешь склонение поменять или мультиязычность ввести, что ты будешь делать? Значение енамов никогда по идее не должно меняться (добавляться - да, а удаляться/меняться - это экстренный случай). Для примера как выводится текст на этом же проекте:

Николай, приветствую! Возник вопрос по расширению схемы, может ты сталкивался: Как добавить enum на русском? Так залетело без вопросов А так заругалось. Явно, что ругается на кириллицу. Можно как-то запихать названия или надо будет уже при выводе переводить? Спасибо!

Спасибо! Утопал разворачиваться)