2011-06-22 8 views
2

2つの別々のRailsアプリケーション間でデータを共有したいと考えています。Railsアプリケーション間でデータとモデルを共有する最も一般的な方法

各アプリケーションには製品の概念があります。 2つのアプリケーションは共通のフィールド(例えばid、name)を共有しますが、各アプリケーションには他のアプリケーションが必要としないフィールドもあります(some_application_specific_flagなど)。

1)Railsモデルを共有し、2)データベース構造について最も一般的なアーキテクチャプラクティスは何ですか?

モデル:完全に別のモデルですか?各アプリケーションの共通基本モデルとサブクラス他に何か?

データベース構造:共有データ用の共通テーブル、次にアプリケーション固有のデータ用のアプリケーション固有テーブル。

答えて

1

Ruby gemはよくある解決策です。一般的なモデルを組み込むことができます。私たちの会社では、いくつかのオンラインショップの共通のロジックを含むためにルビーの宝石を使用しています。別の一連のプロジェクトでは、ルビーの宝石にはスタイル関連のものがすべて含まれています。

個別のモデルまたはサブクラスを使用するかどうかは、お客様とアプリケーションによって異なります。場合によります。正当な理由がない限り、別のモデルを使用しようとします。

データを共有している場合は、ルビーの宝石(データがほとんどない場合)またはデータベースのいずれかになります。データベースでは、データの量と複雑さに応じて、共通テーブルまたは共通データベースを使用します。私はたいていの場合、共通のデータベース(テーブルとは対照的に)を使うだろう。

関連する問題