Обновление с Rails 2.3.8 до 4.0
Я запускаю приложение на Rails 2.3.8. Я планирую обновить его до Rails 4.0 (который находится в RC). Каким будет самый простой способ для меня сделать это? Нужно ли сначала обновить до Rails 3.x?
Примечание: в моей текущей реализации я использую скворец и хорек; как часть обновления, я также планирую перейти на sidekiq и sunspot
Ответы
Ответ 1
Это многоэтапный процесс, и в зависимости от размера вашего приложения это может занять много времени. На каждом шаге вам нужно протестировать ваше приложение на наличие ошибок и проблем и сломанных драгоценных камней (потому что они, безусловно, будут возникать). Я включил ссылки для самых сложных шагов. Вот путь наименьшей боли:
Обновить до Rails 2.3.18.
Обновить до Ruby 1.9.3.
Обновить до Rails 3.0.
Обновить до Rails 3.1.
Обновить до Rails 3.2.latest.
Обновить до Ruby 2.0.latest.
Обновить до Rails 4.0.
Обновление с Rails 4.0 до Rails 4.1.
Обновление с Rails 4.1 до Rails 4.2.
Обновление с Rails 4.2 до Rails 5.0.
Обновление с Rails 5.0 до Rails 5.1.
Бонус: если у вас большое приложение, это займет много времени. Если у вас большая команда, длинные ветки становятся огромной головной болью из-за повторяющихся конфликтов слияния. Одна из стратегий смягчения этого заключается в двойной загрузке вашего приложения с обеих версий Rails, чтобы вы могли иметь новую версию, запущенную на главной ветки, а не на своей длительной ветки.
Ответ 2
Ответ Aaron Grey очень полезен, но иногда это очень сложно после обновления, чтобы найти различия между версией rails в коде. Я имею в виду, много раз после обновления что-то не работает. Возможно, могут быть некоторые изменения в файле, или некоторые файлы могут быть добавлены или удалены в более новой версии. Есть хороший инструмент, как вы можете узнать все различия между версией и сравнить их. Это на Rails различия и может быть очень полезно обнаружить некоторые возможные ошибки и ошибки.