Как мне сделать приложение Ruby on Rails 2.3.4 "Rails 3-ready" - PullRequest
29 голосов
/ 16 сентября 2009

Я занимаюсь разработкой приложения на Ruby on Rails, которое я хочу поддерживать как минимум несколько лет, поэтому я беспокоюсь о следующей версии, которая скоро появится.

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

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

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

  • Как вы думаете, сколько времени займет переключение версии?

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

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

Ответы [ 8 ]

10 голосов
/ 17 сентября 2009

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

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

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

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

2 голосов
/ 06 сентября 2010

Так же просто, как:

Великолепные скринкасты Райана Бейтса.

2 голосов
/ 01 октября 2009

Самое важное, что вы можете сделать, чтобы упростить переход на новую версию rails, - это иметь комплексный набор тестов. Без хорошего набора тестов у меня никогда не было бы уверенности, что новая версия rails ничего не сломала в моем приложении. В текущем приложении 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 было исправление, но оно не было включено в релиз (поскольку он был обнаружен сразу после релиза).

После того, как у вас есть этот набор тестов, просто будьте в курсе каждого выпуска rails (подождать пару недель на обновление - это хорошо, просто не пропускайте ни один из релизов).

Иегуда Кац (член основной команды Rails) заявил , что, скорее всего, будет переходный выпуск, содержащий предупреждения об устаревании и тому подобное.

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

2 голосов
/ 17 сентября 2009

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

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

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

Мне бы больше хотелось перейти от Merb к Rails 3.

1 голос
/ 17 ноября 2010

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

сначала сделайте резервную копию вашего старого проекта, а затем

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

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 или другие файлы. Делать уместно.

1 голос
/ 20 февраля 2010

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

1 голос
/ 21 января 2010

В Rails 3 произошли некоторые важные изменения, о своем опыте обновления моего приложения до Rails 3 я написал здесь: на рельсах-3

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

1 голос
/ 24 сентября 2009

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

Думаю, что на это уйдет много времени, и все зависит от того, как вы следили за разработкой rails3 до ее выпуска.

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

...