Я думаю, что вы должны тщательно проверить, когда и как обновить. Вот несколько советов, которые могут помочь в процессе обновления:
- Версии патча (например, обновление с
Rails 3.1.0 to Rails 3.1.1
) обычно не представляли собой никаких проблем. Обновляйте, когда это возможно, обычно вам не нужно ничего менять. Иногда вам нужно проверить, нужно ли обновлять другие Gems, прочитайте заметки о выпуске, они дают (иногда) подсказки об этом.
Незначительные версии (например, обновление с Rails 3.0.9 to Rails 3.1.0
) поставляются с новыми функциями и несовместимыми изменениями. В заметках о выпуске вы найдете информацию о том, что изменилось и должно быть проверено заранее. В качестве примера рассмотрим Ryan Bates railscast «Обновление до Rails 3.1.0» . Обычно вы должны сделать следующие шаги:
- Обновление до последней версии патча.
- Посмотрите на устаревшие сообщения журнала. Это те, которые могут сломаться после обновления.
- Отметьте свое текущее приложение или ветку, чтобы быть уверенным, что при обновлении ничего не разрушится.
- Выполняйте обновление до той степени, в которой вы уверены, что наиболее необходимые функции снова работают.
- Объедините ваши изменения и продолжите обновление
(Я сделал это за последние несколько дней для приложения, которое я обновил с Rails 1.2 до 2.0 до 2.3.8 до 3.0.0 до 3.0.9, а теперь 3.1.1.)
- Основные обновления версии еще сложнее. Вы должны убедиться, что у вас есть достаточно времени и ресурсов, чтобы проверить все незначительные глюки, которые у вас могут быть. Большую часть времени команда Rails предоставляла ресурсы, помогающие выполнить обновление, например, помощник по обновлению Rails или 3 railscast "Обновление до Rails 3" .
В любом случае вам следует как минимум проверить, совместимы ли используемые вами основные гемы (в дополнение к обычным гемам Rails) с версией, на которую вы хотите перейти. Это может быть сложно, но иногда информация доступна.
По моему опыту, крупные обновления требуют времени, и если у вас его нет, не делайте обновления. Незначительные обновления занимают некоторое время, и в зависимости от изменений (активы в Rails 3.1) идут с ценником, который иногда, не всегда, того стоит. Обновления патчей безболезненны и должны выполняться по желанию.