29

Ruby on Rails でアプリケーションを開発していて、少なくとも数年は維持したいので、すぐに次のバージョンが出るのが心配です。

Rails 1 から Rails 2 への移行は非常に苦痛だったので、自分の gem をフリーズさせたり、暗闇の中でアプリケーションを単独で停止させたりすることはありませんでした。

このプロジェクトでは、私はそれをしたくありません。まず、この新しいバージョンは見た目が素晴らしいだけでなく、このアプリケーションが実際の製品になる可能性があるためです.

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

  • バージョンの切り替えにどれくらいの時間がかかると思いますか?

  • そして、私のサーバーはどうですか?展開?

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

4

8 に答える 8

2

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

テスト スイートを用意したら、Rails の各リリースを最新の状態に保ちます (アップグレードに数週間かかるのは問題ありませんが、どのリリースもスキップしないでください)。

Yehuda Katz (Rails コア チームのメンバー)は、非推奨の警告などを含む移行リリースが行われる可能性が高いと述べています。

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

于 2009-09-30T20:19:52.080 に答える
2

大きな問題になることはないと思います。その最初のレポートで言われたことから外れて、Rails チームは、1 から 2 に行ったような大幅な書き直しはできないことに気付きました。

彼らは言う:

Rails 3 には互換性のない部分がいくつかあると思いますが、それらを最小限に抑えて、Rails 2.x アプリケーションを Rails 3 に簡単に変換できるようにします。

Merb から Rails 3 に移行する場合は、もっと心配です。

于 2009-09-16T20:56:20.997 に答える
2

単純な:

Ryan Bates による素晴らしいスクリーンキャスト。

于 2010-09-05T20:14:26.597 に答える
1

いくつかの自動化された互換性チェッカーがあります。また、http://www.railsplugins.org/に注目して、依存するライブラリがアップグレードされるかどうかを確認してください。今回、Rails Core チームはコミュニティに対して事前に多くの通知を行っているようです。そのため、積極的にメンテナンスされている lib は問題なく使用できるはずです。

于 2010-02-19T22:06:31.783 に答える
1

たった一つのことをするだけ

最初に古いバージョンのプロジェクトのバックアップを取り、次に

ターミナル(コマンドプロンプト)で書き込み

rails new path/of/the/project

たとえば、私の 2.3.* プロジェクトhome/rails_projects/myproject

rails new home/rails_projects/myproject

また

cd home/rails_projects
rails new myproject

/configいずれかまたは他のファイルに変更が加えられているかどうかを尋ねられます。適切に行う。

于 2010-11-17T07:06:59.547 に答える
1

アプリケーションを準備するための最良の方法は、ジャレッドが言ったことです。Rails3 の開発に従ってください。

時間がかかるのは、リリース前に rails3 の開発をどのようにフォローしてきたかによると思います。

また、展開に関しては、それほど問題はありません。Rails 3 は Rack を使用します。そのため、雑種、パッセンジャー、または任意のサーバー/ゲートウェイで起動でき、問題は発生しません。

于 2009-09-24T16:05:19.337 に答える
1

Rails 3 にはいくつかの大きな変更点があります。アプリを Rails 3 にアップグレードした経験について投稿しました。レール-3

準備の良いスタートは、バンドラーの使用に移行することです。また、新しい XSS 保護スキームを通過する文字列について、非常に詳細なレビューを行っています。

于 2010-01-20T21:46:09.227 に答える