Когда переходить в Generate
Когда вы нажали Finish или Save project settings, обновилась модель проекта. Файлы приложения могли остаться прежними. Откройте Generate, чтобы сначала увидеть будущие изменения, а затем применить их.
Обычный рабочий цикл
- Нажмите Preview changes.
- Проверьте Important information: готовность модели, предупреждения, доступ и маршруты.
- В Changes раскройте измененные файлы и изучите diff.
- Исправьте блокирующие причины, если они есть, и повторите Preview.
- Нажмите Generate.
- После успешного результата обновите запущенное приложение. Перед применением миграций изучите изменения БД.
Preview работает как dry-run: показывает результат без записи файлов и без новой записи History. Если после просмотра изменились модель или Force overwrite, повторите Preview — прежний результат может уже не соответствовать будущей генерации.
Как читать Changes
Сводка показывает число файлов, добавленных и удалённых строк, удаляемые файлы, а также blockers и skipped. В строке файла указаны путь, статус и действие. Раскройте её для просмотра unified diff — построчного сравнения. Если текстовое сравнение недоступно, интерфейс сообщит об этом.
В Access and route impact проверьте, как изменится доступность API после генерации. Особое внимание уделите Anonymous-операциям и адресам после переноса сущности в другой модуль: ими могут пользоваться внешние клиенты.
Конфликты и Force overwrite
| Ситуация | Что делать |
|---|---|
| Некорректная модель или зависимость | Вернуться в Content и исправить причину |
| Generated-файл изменен вручную | Изучить diff и решить, переносить ли правку в custom-зону |
| Посторонний файл занимает генерируемый путь | Разобрать конфликт ownership |
| Устаревший Preview | Повторить просмотр актуальной модели |
Force overwrite разрешает перезаписать вручную изменённые файлы, которыми управляет генератор. Используйте его после проверки diff и сохранения нужных правок. Он не обходит ошибки модели или конфликт устаревшей версии. Обычный Generate не должен переписывать существующие custom-файлы. При удалении сущности их архивация подтверждается отдельно.
Отменить несгенерированные изменения
Если manifest отличается от состояния последнего успешного Generate, доступно Discard ungenerated changes. Откройте действие, посмотрите diff и подтвердите отмену только тех правок, от которых хотите отказаться.
Discard восстанавливает только .admingen/project.yaml. БД, созданные миграции, generated/custom-файлы, lock, история, .env, запущенное приложение и Git остаются как есть. Используйте это действие для отмены правок модели после последнего Generate, а не для восстановления всего приложения.
После генерации
После успешной генерации можно скопировать предложенную команду make dev и выполнить её в терминале из корня сгенерированного проекта. В Docker-сценарии она запускает сервисы и применяет ожидающие миграции. UI сам команду не выполняет. Если Docker отключён в Deployment, этот локальный способ запуска недоступен.
Если файлы записались, но экран не смог обновиться, воспользуйтесь предложенным обновлением состояния. Ошибка обновления UI не означает, что генерация ничего не изменила.
Дополнительно: план, генерация и диагностика через CLI.