2013-06-17 16 views
19

私はRails 2.3.8でアプリケーションを実行しています。私はそれをRails 4.0にアップグレードする予定です(これはRCです)。これを行うための最も簡単な方法は何でしょうか?最初にRails 3.xにアップグレードする必要はありますか?Rails 2.3.8から4.0へのアップグレード

注:現在の実装では、starlingとferretを使用しています。アップグレードの一環として、sidekiqsunspot

+3

"最初にRails 3.xにアップグレードする必要はありますか?" - 許容できる痛みの閾値によります。一般に、大きな変更を小さな増分変更に分割することが推奨されます。 – PinnyM

+3

また、最新の2.3.xにアップグレードする前に、必ず3.xまたは4に移動してください。 – PinnyM

+0

ルビーをアップグレードする必要があります。 –

答えて

45

に移動することも検討しています。これはアプリケーションのサイズによっては時間がかかることがあります。それぞれのステップで、アプリケーションにバグや問題、壊れた宝石があるかどうかをテストしたいと思うでしょう。私は最も複雑な手順のためのリンクを含んでいます。ここに最小の痛みのパスがあります:

Rails 2.3.18へのアップデート。

Update to Ruby 1.9.3.

Update to Rails 3.0.

Update to Rails 3.1.

Update to Rails 3.2.latest.

Ruby 2.0.latestへの更新。

Update to Rails 4.0

Update from Rails 4.0 to Rails 4.1

Update from Rails 4.1 to Rails 4.2

Update from Rails 4.2 to Rails 5.0

Update from Rails 5.0 to Rails 5.1

ボーナス:大規模なアプリケーションをお持ちの場合は、時間がかかります。大規模なチームを持っている場合、長時間実行されるブランチは、マージの競合が繰り返し発生するため、大きな頭痛になります。これを緩和するための戦略の1つはdual boot your application with both versions of Railsです。新しいバージョンを独自の長時間実行するブランチではなく、マスターブランチ上で実行させることができます。

+1

これが役立つ場合は、その答えに同意してください。 :) –

+1

こんにちは。 Rails 3.0にアップグレードする前に、なぜRuby 1.9.3にアップグレードするのですか? Rails 2.3はRuby 1.9をサポートしていませんが、Rails 3はそうしていますが、Ruby 1.9でRails 2.3を動作させるための追加作業が必要ですか? – robd

+2

良い点。 Ruby 1.9に移行する前に、Rails 3にアップグレードすることは間違いありません。私たちのケースでは、大きなアプリケーションがあり、Ruby 1.8.7から1.9への移行は、Rails 2.3から3.0への移行よりもずっと簡単でした。 1.9になるには数ヶ月かかりましたが、3.0になるには1年以上かかりました。そこで、最初に簡単にアップデートして、Ruby 1.9のパフォーマンス上の利点と宝石の互換性をより早く得ることができました。 –

2

アロングレイの答えは非常に便利ですが、アップグレード後にコードのレールバージョンの違いを見つけるのが非常に難しい場合があります。つまり、何かをアップグレードした後何度も動作しないということです。たぶんファイルの変更があったり、新しいバージョンでファイルの追加や削除が行われる可能性があります。あなたは、バージョン間のすべての違いを見つけ出し、それらを比較する方法が素敵なツールです。 Rails differencesにあり、潜在的な間違いやバグを発見するのに非常に役立ちます。

関連する問題