2009-09-16 4 views
29

Я разрабатываю приложение с Ruby on Rails, которое я хочу поддерживать в течение по крайней мере нескольких лет, поэтому меня беспокоит следующая версия в ближайшее время.Как я могу сделать приложение Ruby on Rails 2.3.4 «Rails 3-ready»

Переход от Rails 1 к Rails 2 был такой большой болью, что я не беспокоил и не замерзал мои драгоценные камни, и пусть приложение умирает в одиночестве, в темноте.

В этом проекте я не хочу этого делать. Во-первых, потому что this new version looks awesome, но и потому, что это приложение может превратиться в настоящий продукт.

  • Как подготовить заявку, чтобы она была обновлена ​​с минимальными изменениями.

  • Как долго вы считаете, что версия для переключения будет?

  • А как насчет моего сервера? Развертывание?

Я уже смотрю уведомления об изнашивании ... что еще я могу сделать?

ответ

10

Лучший t hing, вы могли бы сделать это, чтобы следить за развитием Rails 3 через блоги и репозиторий Github и следить за копией вашего приложения вместе с ним.

Должностное лицо Ruby on Rails blog обновляется с сообщениями «Что нового в Edge» раз в несколько раз. Есть otherblogs, которые часто пишут о новых вещах в краю. В этих блогах часто выделяются более крупные функции, поэтому вы знаете обо всех интересных новых функциях, с которыми вы можете играть.

Я не уверен, как закрыть Rails 3 (в последний раз я слышал, что основная команда говорила о выпуске на RailsConf 2009 в мае), но вы всегда можете заморозить пограничную версию Rails в своем приложении и просто посмотреть, что происходит. Если вы используете git или другой DVCS, вы можете сделать ветвь специально для Rails 3 и периодически обновлять Rails до последнего краевого кода. Просто имейте в виду, что edge Rails - это движущаяся цель, поэтому в вашем приложении могут сломаться или исправляться, когда вы используете новый код Rails.

Обновление: У Джереми Маканали есть тонна информации об обновлении с Rails 2 до Rails 3 в его блоге. http://omgbloglol.com/

+2

В то время как «интересные новые функции» часто публикуются в блогах, проблема будет с упущениями; люди активно ведут блоги о том, что больше не работает/не будет работать? – Stobor

+0

Запустите приложение с Rails 2.3.9 (http://weblog.rubyonrails.org/2010/9/4/ruby-on-rails-2-3-9-released) – Matt

2

Я не думаю, что это будет серьезная проблема. Переход от того, что было сказано в этом первоначальном докладе команда Rails поняли, что они не могут сделать большую переписывают, как они сделали с 1 до 2.

Они даже говорят:

Я уверен, что» будете некоторые части Rails 3, которые несовместимы, но мы будем стараться, чтобы держать их к минимуму и сделать его действительно легко преобразовать приложение 2.x Rails в Rails 3.

я был бы более озабочен от Merb до Rails 3.

1

Для подготовки вашего приложения наилучшим образом, как сказал Джаред. Следуйте за развитием Rails3.

Нанимая много времени, я думаю, это зависит от того, как вы следовали за развитием rails3 до его выпуска.

И для развертывания это не должно занять слишком много проблем. Rails 3 будет использовать Rack. Таким образом, вы можете запустить его с mongrel, пассажиром или любым сервером/шлюзом, это не должно вызывать никаких проблем.

2

Единственная важная вещь, которую вы можете сделать, чтобы упростить переход на новую версию рельсов, - это комплексный набор тестов. Без хорошего набора тестов я никогда не был уверен, что новая версия рельсов не сломала что-то в моем приложении. В текущем приложении Rails, над которым я работаю, мы начали работу над Rails 2.1.1 еще в октябре 2008 года. С тех пор мы перешли на Rails 2.1.2, 2.2.2, 2.3.2, 2.3.3 и теперь 2.3.4. Я выполнил миграцию до 2.3.2, 2.3.3 и 2.3.4 ... и для обновлений 2.3.2 и 2.3.3 у нас были некоторые неудачные тесты, которые предупреждали нас о проблемах, которые мы бы не обнаружили, хороший набор тестов. Провальные тесты на самом деле предупредили нас о регрессивной ошибке в рельсах, что на палубе Rails был патч, но он не был включен в релиз (поскольку он был обнаружен сразу после выпуска).

Как только вы приобретете этот набор тестов, просто оставайтесь в курсе всех выпусков рельсов (ожидание пары недель для обновления в порядке, просто не пропустите ни один из выпусков).

Yehuda Katz (член основной команды Rails) has stated, что скорее всего будет переходный релиз, содержащий предупреждения об устаревании и т. Д.

До тех пор, пока у вас есть хороший набор тестов, чтобы выявить неизбежные проблемы с обновлением и оставаться в курсе выпуска Rails, переход на Rails 3 не должен быть слишком сложным.

1

Есть некоторые существенные изменения в Rails 3, я отправил о моем опыте модернизация моего приложения Rails-здесь: http://rails3.community-tracker.com/permalinks/5/notes-from-the-field-upgrading-to-rails-3

Хороший старт в подготовке будет мигрировать к использованию Bundler. И сделаем очень глубокий обзор строк, которые пройдут через новую схему защиты XSS.

1

Будут некоторые автоматические проверки совместимости. Также следите за http://www.railsplugins.org/, чтобы вы знали, будут ли библиотеки, на которых вы полагаетесь, будут обновлены. Команда Rails Core, похоже, на этот раз много сообщает об этом сообществу, поэтому любая активно действующая библиотека должна быть хорошей.

+0

http://isitruby19.com/ is также хороший сайт, чтобы следить. Многие люди будут стремиться к обновлению до версии Ruby 1.9, так как Rails имеет полную совместимость 1.9. – Jared

1

Просто сделать одну вещь

взять резервную копию старой версии проекта, а затем

на терминале (командной строке) написать

rails new path/of/the/project 

, например, если мой 2.3.* Проект находится на home/rails_projects/myproject тогда

rails new home/rails_projects/myproject 

или

cd home/rails_projects 
rails new myproject 

Он спросит, есть ли какие-либо изменения, сделанные в любых /config или других файлов. Соблюдайте.

 Смежные вопросы

  • Нет связанных вопросов^_^