Усилия, необходимые для обновления, могут существенно измениться в зависимости от множества факторов, включая размер проекта, качество исходного кода, использованные плагины и, если да, то были ли они обновлены или потребуется замена функциональности, были устаревшими тегами используется, например, remoteFunction et c. et c.
Между 3.x и 4.x нет большой разницы, поэтому имеет смысл перейти на 4.x.
Поэтапно решайте его на основе нового проекта, пытаясь перестроить проект между этапами.
- Восстанавливайте sh конфигурацию, вам не нужно использовать приложение. yaml (по умолчанию в 4.x), поэтому можно создать приложение. groovy с теми же параметрами, что и в вашем старом проекте.
- Переместить объекты домена, но использовать новый URL базы данных, сравнить схемы между старый БД и новый БД, чтобы убедиться, что база данных одинакова. Если вы не полагаетесь на GORM для воссоздания / обновления схемы.
- Перемещение по любому другому объекту источника и команды, обеспечивающему построение проекта. На этом этапе вам может потребоваться изменить buildconfig для добавления зависимостей и плагинов.
- Перемещение по службам, обеспечение компиляции и проверка того, что транзакции ведут себя как целевые.
- Перемещение по контроллерам, обеспечивающее любые тесты запустить успешно.
- Перемещение по представлениям.
- Надеюсь, если проект все еще строится на этом этапе, вы можете запустить его!