Как запустить приложение Rails 1.2.5 на ruby ​​1.9?

У меня есть старое приложение, сделанное на рельсах 1.2.5, у этого приложения есть много доступа в день.

Я намереваюсь обновить свой сервер (радостный ускоритель), чтобы запустить ruby ​​1.9.x и работать с rails 3, но я не могу остановить или перенести это приложение на другой сервер.

Есть ли способ запустить это приложение на ruby ​​1.9? или запустить две версии ruby ​​(1.8.7 и 1.9) одновременно? или в последнем случае обновить мое приложение для работы с rails 3?

Благодарю.

3 ответа

Решение

В Rails было довольно много патчей, чтобы он работал под Ruby 1.9. Я думаю, что вы готовы принять вызов, если попытаетесь это сделать. С помощью Ruby Version Manager вы можете work with multiple ruby environments from interpreters to sets of gems,

Должен ли он быть переключен на Rails3 и Ruby 1.9? Можете ли вы просто выбросить старое приложение на виртуализированный сервер и поддерживать его в рабочем состоянии?

Причина моего предложения заключается в том, что мы только что прошли аналогичный случай. Местный бизнес (строительная ассоциация) разработал пару приложений для них 2-3 года назад (работает с Rails 1.2.6). Ничего особенного (приложение для выставления счетов и система управления ставками / подрядчиками / клиентами). Все работает, поэтому не нужно ничего обновлять.

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

Клиент не был доволен ими. Магазин, который разрабатывал приложения с тех пор, как закрыт, и разработчики отправились на более зеленые пастбища Но все работает, так зачем изобретать велосипед, верно? Клиент пошел искать альтернативы. Пришел к нам. Мы сели с клиентом, провели некоторый анализ затрат / выгод и решили просто разместить его в виртуализированной среде (у другого поставщика). Сделал это за неделю (с некоторыми хитростями): резервное копирование, перемещение, восстановление, тестирование, все работает. И он работает уже 3 месяца без проблем.

Это может не сработать, но если вам не нужно добавлять в приложение, зачем исправлять то, что не сломано?

  1. Rails 3 работает с Ruby 1.8.7
  2. Другой вариант (кроме очевидного RVM) - оставить Ruby 1.8.7 и Rails 1.x как есть и установить последние версии JRuby и Rails 3.0 и зависимые гемы с помощью jruby -S gem install rails, Драгоценные камни Ruby и JRuby прекрасно сосуществуют без какого-либо вмешательства. OpenSolaris в Joyent Accelerator хорошо работает с Java, поэтому у вас не будет особых проблем с ним.

PS Кстати, я не буду рекомендовать обновить приложение Rails 1.x до 3.x, если вы не планируете добавлять в него множество новых функций. Это может быть очень больно, особенно если вы использовали много драгоценных камней и плагинов старой школы.

Другие вопросы по тегам