2017-02-04 5 views
0

Rails 4で開発されたRails Webアプリがあります。同じデータベースを使用するモバイルアプリを開発したいので、同じデータベースを使用してAPIを構築する必要がありますデータ。Rails 5アプリはRails 4アプリでサーバーとデータベースを共有します

アプリをRails 4から5にアップグレードする準備が整っていないので、同じデータベースに接続されたRails 5 APIアプリを作成して、同じサーバーで実行することを考えています。

Rails 4アプリとRails 5アプリが同じデータベースを共有し、同じサーバー上で実行されていることをお勧めしますか?

+0

「同じサーバー」は正確に何を意味していますか?別のバージョンの宝石をロードできないので、同じプロセスでそれらを実行していると動作しません。 – phoet

+0

"同じサーバー"同じLinuxサーバー、同じIPを意味します。複数のレールアプリを1台の物理サーバーに搭載することは可能ですが、レール4アプリとレール5 apiを同じ物理サーバー –

答えて

1

rbenvなどの異なるバージョンのRubyを管理しているか、まったく同じバージョンのRubyを両方とも使用している限り、複数のバージョンのRailsを同じ物理サーバ上で実行することは問題ありません。あなたがテストスイートを持っていない限り、古いアプリケーションでRubyのバージョンを変更することはお勧めできません。2.2.2より古いRubyでRails 5を実行することはできません。

同じデータベースに接続している限り、同じデータベースを使用して複数のRailsアプリケーションを作成することは非常に困難です。これは、Railsがデータベースの移行を管理することを想定しているためです。既存のRailsアプリケーションでデータベースを移行している場合は、新しいRailsアプリケーションでテストを実行するためにデータベースをどのように設定しますか?

手動でテストを実行するために他のプロジェクトからマイグレーションを導入するなどの方法がありますが、テストと開発プロセスには多くの複雑さが加わります。そして、間違いをしないでください:のテストは非常に重要です。

Rails::Apiを使ってRails 4アプリケーションにAPIを追加するか、古いアプリケーションでRailsをアップグレードすることをお勧めします。

+0

あなたの答えをありがとう、私はあなたの既存のアプリをRails 5にアップグレードし、それにAPIを追加すると思います。 –