2011-10-13 18 views
5

私はRails 1.2.3のバージョンに取り組んでいます。今では、Railsバージョンとruyバージョンを1.8.6から1.9.7にアップグレードしたいと考えています。Railsアプリケーションを1.2.3から3.1.0にアップグレードしますか?

古いバージョンでは動作するのが大きな苦痛ですが、動作中です。今私はRailsの機能を進化させたいが、この古いバージョンはサポートしない。

バージョンとルビーのバージョンをアップグレードする方法を教えてください。

ありがとう....

+0

...もおそらくめったに使用されている、あなたのアプリのいくつかの「機能」、を取り除くための良いチャンスです。すべてのテストが合格したことを確認してガイドを使ってRails 2にアップグレードすることをお勧めします(場合によっては数日/数週間の実稼働に備えることをお勧めします)。その後、Rails 2からRails 3へのアップグレードガイドに従います。 –

+0

@ヨルダン:ありがとう。しかし、私はこのステップに従う十分な時間がありませんでした。あなたがこれをアップグレードする考えがある場合は、私に知らせてください。私はそのアプローチを試みます。 – Rubyist

+0

@Jordan:Rails 1からRails 2にアップグレードするための参考資料がありますか? ?あなたがしている場合は、共有してください...ありがとう – Rubyist

答えて

4

これはかなりの飛躍です。あなたの最善の策は、新しいレール3.1アプリを作成して、コードを手動で移行することです。

gem install rails #=> will install the latest stable release from rubygems 
gem install bundler 
rails new myapp 

あなたがする必要がありますまず最初にGemfileを開いて、あなたの現在のアプリケーションで使用している任意の宝石に追加され、そしてまた、任意のプラグインの宝石のバージョンを見つけることが良いでしょう使用しています(vendor/plugins)。また、使用しているデータベースのタイプ(mysql2sqlite3、またはpg)に適切なgemがインストールされていることを確認してください。

必要なすべての宝石を追加したら、bundle installを実行して、すべての宝石をアプリケーションにまとめます。

ビュー、モデル、コントローラーに関する限り、新しいアプリケーションにコピーするだけでも問題はありません。あなたはおそらくいくつかのものを微調整する必要がありますが、大部分はすべてがうまくいくはずです。

また、config/application.rbを開き、アプリケーションを設定する必要があります。古いenvironment.rbファイルを参照として使用することができます。

アプリケーションを起動する前の最後のステップは、routes.rbファイルを新しいRails 3形式に変更することです。おそらく、Rails 3ルーティングファイルを作成する方法を学び、次にルートに手作業で書く必要があるため、これはおそらく移行の最悪の部分です。詳細はhereを参照してください。

私はRails 1を使用したことがないので、他のものを変更しなければならない可能性があります。 These three Railscastsは間違いなくあなたに役立つリソースです。

+0

ありがとうございました。あなたから与えられた手順は本当にうまくいくか私です。あなたはルーティングが私を殺すだろうと非常によく言った。 – Rubyist

0

2.3.10から3.0.9への主要なアプリケーションを移行しました。 これは非常に厄介なプロセスです.3.1に移行したい場合はさらに悪化していました。

アプリケーションのサイズによっては、新しいアプリケーションを作成してその上にコピーすることをお勧めします。

この古いバージョンのレールから最新のものへの移行は、明らかに単一の飛躍ではありません。考慮すべき点が非常に多くあります。

しかし、私の答えについての最もよい事は、私はあなたが互換性のある宝石などを見つけるのテストプロセスは、...そんなに立派レール3とルビー1.9.2

+0

はい、あなたは正しいです。既存のプロジェクトのクローンとして新しいアプリケーションを作成する方が良いです。そして、我々はロジックを使用することができるだけでなく、いくつかのコードを再利用することができます。そうしないと、実行中にジャンクコード全体が問題を引き起こします。 – Rubyist

0

すごいであり、それを行うお勧めしないということですレンダラーが言ったように、それはかなりの飛躍です!私は1年前にRailsを使用しました。私はRails 2にアップグレードしなかった、私は書きました。

Rails 1.2.3アプリケーションのサイズはどれくらいですか?

Railsの機能、Gems、Routing、Asset Pipeline、Named Scopes、ActiveRecord Query APIなど多くの機能が変更されました。Rubyも変更されました。アップグレードするのは悪い考えです。あなたが考えなければならない多くの新しいコンセプトや機能があり、きれいなスレートから始める方がはるかに良いでしょう。

これは偽装の祝福です。私はこれがあなたのコードベースをRails 3.1で書き直して再構築することでコードベースを改善する素晴らしい機会だと思っています:-)

Rails 3.1アプリケーションでは、最も重要な機能1.2.3アプリケーションはメンテナンスモードのままです。

それは私がこれのための合理的なワンステップのプロセスがないと思う

+0

はいあなたは正しいです。私も同じことを考えています。私の決定を強くしてくれてありがとう。 – Rubyist

+0

それはあなたの上司のための厳しい販売かもしれない - ちょうど教えてください:) - 最後に/彼は幸せになるでしょう – Tilo

+0

ありがとうマン。私の上司はすべてを知っていますし、私もクライアントにこれらの言葉を説明しました。クライアントもこれに対応します。 – Rubyist