Как запустить приложение 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 месяца без проблем.
Это может не сработать, но если вам не нужно добавлять в приложение, зачем исправлять то, что не сломано?
- Rails 3 работает с Ruby 1.8.7
- Другой вариант (кроме очевидного 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, если вы не планируете добавлять в него множество новых функций. Это может быть очень больно, особенно если вы использовали много драгоценных камней и плагинов старой школы.