Обновление с Grails 1.0.3 до 1.3.5 - PullRequest
3 голосов
/ 19 декабря 2010

Я только что унаследовал приложение, написанное на Grails (версия 1.0.3), и хотел бы обновить его до последней версии (версия 1.3.5).

Я не могу найти ссылку, которая перечисляет различия между двумя версиями. Я знаю, что есть команда "grails upgrade" - но это лучший вариант, учитывая большие различия в версиях.

У меня есть аналогичный вопрос, который я задавал сегодня, а также об обновлении версии Groovy, и о синтаксических различиях, о которых следует помнить (между версиями 1.3.5 и 1.7.5) - но я подумал, что может быть лучше отделить два вопроса, чтобы сосредоточиться на каждом.

Большое спасибо,

~ Aki

Ответы [ 2 ]

7 голосов
/ 19 декабря 2010

С 1.0.3 ситуация немного изменилась, и, к сожалению, grails upgrade мало что сделает для вас.

Два важных изменения, которые приходят на ум, заключаются в том, что в 1.0.3 и более ранних версиях была ошибка, в которой коллекции 1-многие и многие-ко-многим (hasMany / serveTo) должны были загружаться с отложенной загрузкой, но не были. Это было исправлено в 1.0.4, и несколько пользователей обнаружили, что они полагаются на поведение, и увидели проблемы. Большинство людей этого не сделали, и просто увидели значительное повышение производительности. Так что следите за исключениями отложенной загрузки.

Другая вещь, которая изменилась, заключается в том, что плагины больше не находятся в корне проекта в папке «плагины», а теперь хранятся в папке $ HOME / .grails. Если вы проверили плагины в управлении исходным кодом (и особенно если внесли какие-либо изменения), вы можете вернуться к поведению 1.0.x, добавив свойство в BuildConfig.groovy (новый файл, который был представлен в 1.1):

grails.project.plugins.dir = 'plugins'

Я описал мой процесс обновления плагинов и приложений здесь: Как установить плагин Grails из исходного кода? - речь идет о проекте плагинов, но то же самое касается обновлений приложений.

Конфигурация log4j изменена с конфигурации, основанной на свойствах, на DSL. Это означает, что если вы перешли к настройкам конфигурации из Config.groovy, поведение log4j будет использоваться по умолчанию, поэтому вам придется преобразовать его.

Еще одно изменение, которое не является обязательным, но которое следует учитывать, заключается в том, что разрешение файлов JAR Ivy из репозиториев Maven теперь предпочтительнее, чем размещение файлов JAR в каталоге lib. Вы все еще можете поместить их в директорию lib, но Ivy загружает их один раз.

Возможно, вы также обнаружите, что некоторые плагины, которые у вас есть, не работают в 1.3, так что там может быть некоторая работа по миграции.

Существуют две последние книги, посвященные Grails 1.2 / 1.3, «Grails: краткое руководство»: http://www.amazon.com/dp/1934356468/ и «Начало работы с Grails, 2-е изд»: http://www.infoq.com/minibooks/grails-getting-started - вы вероятно, стоит проверить их, поскольку они являются самыми последними книгами Grails.

В целом, все не должно быть так плохо, если вы не пытаетесь обновить на месте. Используйте подход, который я описал в другом посте, на который я ссылался, то есть создайте пустые приложения и файлы сравнения, чтобы увидеть, что изменилось (в основном это 3-сторонняя разница).

2 голосов
/ 19 декабря 2010

Самый последний выпуск 1.3.6 (по состоянию на 15 декабря).Вы можете получить список изменений из Примечания к выпуску каждого выпуска.Кроме того, обновление с предыдущих версий ссылка на документацию является хорошим источником изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...