Насколько сложно обновить Rails 1.2.3 до 2.3.5? - PullRequest
5 голосов
/ 14 января 2010

Стоит ли оно того?

Я работаю над оценкой унаследованной базы кода для клиента - с 2007 года исходный код практически не затрагивался и построен на Rails 1.2.3.

Мой опыт работы с Rails начался в версии 2.1 - код довольно похож на стандартный / scaffold и лишен значимых тестов - мне было любопытно даже посмотреть, смогу ли я запустить его локально - но я даже не уверен когда начать. Сразу же он даже не знает, что означает «rake db: create». Ха!

Будет ли основной проблемой даже запустить его в 2.3.5? Должен ли я беспокоиться?

Хотелось бы услышать ваши мысли.

Спасибо

Ответы [ 2 ]

4 голосов
/ 14 января 2010

Если вы собираетесь активно развивать сайт, то да, стоит потратить время на проект, чтобы обновить его. С Rails 1.2 произошло много событий, которые сделают разработку намного приятнее. Жизнь без именованных областей или ресурсов RESTful действительно сложна. Если вы просто исправляете странную вещь здесь и там, возможно, стоит оставить ее в основном как есть и просто разобраться с эксцентриситетами.

Поскольку версия 1.2.3 находится непосредственно перед выпуском релизов до версии 2.0, в которой было введено множество предупреждений и уведомлений об устаревании, у вас может быть достаточно хлопот.

Некоторые вещи, за которыми нужно следить:

  • Миграции теперь помечены датой, не пронумерованы, но, по крайней мере, обратно совместимы
  • Многие поставщики / плагины могут не работать, не иметь 2.x-совместимой версии или должны быть обновлены
  • Механизм маршрутизации изменился, и, возможно, изменилось имя многих маршрутов, так что посмотрите, что говорит rake: routs, и приготовьтесь к большому количеству поиска и замены
2 голосов
/ 14 января 2010

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

Далее основной рецепт выглядит следующим образом

  1. Пометить текущий источник
  2. Обновление до следующего релиза rails (вам нужно будет зайти в Google для объявления о выпуске). Мое приложение было заморожено, поэтому мне просто пришлось заморозить до этой версии
  3. rake rails: обновление для обновления конфига, скриптов и js
  4. Различайте свою рабочую копию по версии в вашей scm. Внесите любые изменения, необходимые для приложения
  5. Обновите все гемы / плагины при необходимости
  6. Запустите приложение, тренируйтесь и тестируйте. Ищите уведомления об устаревании
  7. Когда все выглядит хорошо, передайте scm и отметьте
  8. пена, промыть, повторить

Для приложения моего клиента это было намного проще, чем я думал.

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