2009-09-16 10 views
29

私はRuby on Railsを少なくとも2年間維持したいアプリケーションを開発しています。すぐに次のバージョンが登場する。Ruby on Rails 2.3.4アプリケーションを "Rails 3-ready"にするには

Rails 1からRails 2への移行は、私の宝石を邪魔したり凍らせたりせず、アプリケーションを暗闇の中で一人で死ぬほどの大きな痛みでした。

このプロジェクトでは、私はそれをしたくありません。最初はthis new version looks awesomeですが、このアプリケーションが実際の製品になる可能性もあります。

  • できるだけ変更を加えずにアップグレードできるようにするにはどうすればよいですか?

  • スイッチングバージョンはどのくらい時間がかかると思いますか?

  • 私のサーバーはどうですか?展開?

私はすでに非推奨の通知を見ています...他に何ができますか?

答えて

10

最高のtブログやGithubリポジトリ経由でRails 3の開発に従って、それと一緒にあなたのアプリのコピーを保持することができます。

公式Ruby on Rails blogは、「What's new in Edge」の記事をしばらく更新します。 otherblogsがあり、エッジの新しいものについてもよく書きます。これらのブログでは、より大きな機能が強調表示されることが多いので、あなたが楽しめる新機能について知っています。

5月のRailsConf 2009でコアチームがリリースについて話していると聞きましたが、Rails 3のリリースはいつもわかりませんが、アプリケーションにはRailsのエッジバージョンをいつでも固定できます何が壊れているか見てください。 gitや他のDVCSを使用している場合は、Rails 3専用のブランチを作成し、Railsを最新のエッジコードに定期的に更新することができます。エッジRailsが動くターゲットであることに注意してください。そうすれば、新しいRailsコードを引っ張っていくうちに、アプリ内の事柄が壊れたり修正されたりする可能性があります。

更新: Jeremy McAnallyは、自分のブログでRails 2からRails 3へのアップグレードに関する豊富な情報を持っています。 http://omgbloglol.com/

+2

「クールな新機能」はしばしばブログに掲載されていますが、この問題は非推奨となります。人々は積極的に何が起こっていないか、もう動かないのかについてブログをしていますか? – Stobor

+0

Rails 2.3.9でアプリケーションを実行する(http://weblog.rubyonrails.org/2010/9/4/ruby-on-rails-2-3-9-released) – Matt

2

大きな問題があるとは思わない。

を私が確信している」:Railsのチームは、彼らが1から2

に行ったように、彼らは主要な書き換えを行うことができないことを彼らも言う気づいた最初の報告書で述べたものをオフに行きますRailsの互換性のない3の一部ができるでしょうが、我々は最小限にそれらを維持しようとすると、それは本当に簡単3.

私はもっと心配になるがレールにRailsの2.xのアプリケーションを変換してあげますMerbからRails 3へ行く。

1

あなたのアプリケーションを準備するために、Jaredが言ったように、最良の方法です。 Rails3の開発に従ってください。

時間のかかることは、リリース前にどのようにレール3の開発に従ったかによって異なります。

展開のために、それほど大きな問題はありません。 Rails 3はRackを使用します。だから雑貨、乗客、またはサーバー/ゲートウェイでそれを始めることができますそれはあなたに何か問題を与えるべきではありません。

2

新しいバージョンのレールに簡単に移行できるようにするためにできる最も重要なことは、包括的なテストスイートを用意することです。良いテストスイートがなければ、新しいバージョンのレールが私のアプリで何か壊れていないという確信は決してありません。私が取り組んでいる現在のRailsアプリケーションでは、2008年10月にRails 2.1.1を開始しました。それ以来、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の灯台のためのパッチがあったが、それはリリースに含まれていなかった(リリース直後に発見されたので)レールの回帰的なバグに警告した。

テストスイートを入手したら、各レールリリースで最新の状態にしてください(アップグレードするまで数週間待ってください)、リリースをスキップしないでください。

Yehuda Katz(Railsコアチームのメンバー)has stated移行のリリースとなる可能性が高く、廃止予定の警告などが含まれている可能性が最も高いと思われます。

避けられないアップグレードの問題を明らかにするための優れたテストスイートがあり、Railsリリースで最新の状態を維持している限り、Rails 3への移行はあまり難しくありません。

1

のRails 3でいくつかの大きな変化がありますが、私はここ3をレールに私のアプリをアップグレードする私の経験について投稿:http://rails3.community-tracker.com/permalinks/5/notes-from-the-field-upgrading-to-rails-3

製造するのに良いスタートがバンドラを使用してオーバー移行するだろう。そして、新しいXSS保護スキームを通過する文字列を非常に深く見直します。

1

自動互換性チェッカーがあります。また、あなたが依存しているライブラリがアップグレードされるかどうかを知るために、http://www.railsplugins.org/に注目してください。 Railsのコアチームは、今度はコミュニティに多くの事前通知をしているようですので、積極的に管理されているlibは良いものになるはずです。

+0

http://isitruby19.com/はまた目が離せない良いサイトです。 Railsは1.9の完全な互換性があるので、多くの人がRuby 1.9にアップグレードする予定です。 – Jared

2

のように簡単:ライアンベイツから

素晴らしいスクリーンキャスト。

1

ちょうど

は私の2.3場合例えば

rails new path/of/the/project 

を書き端末に(コマンドプロンプト)を最初に古いバージョンのプロジェクトのバックアップを取り、その後

一つのことを行います。*このプロジェクトは、任意の/configまたは他のファイルに行われた変更がある場合はそれが要求されます

rails new home/rails_projects/myproject 

または

cd home/rails_projects 
rails new myproject 

その後、home/rails_projects/myprojectです。適切な処置を行います。