0

私のRailsアプリ(「Mira」と呼びましょう)は、既存のアプリ(「Jira」と呼びましょう)とインターフェースします。MiraはJiraに関する情報を保存し、データベースを直接操作できるようになります(Jiraには不完全なAPIがあるため)。

Jiraのデータベースを直接操作したいので、MiraアプリにJiraの各テーブルを表すモデルを用意するのは理にかなっています。そうすれば、ActiveRecordを使用して操作できます。

しかし、実際には!2つのJiraがあります。ステージングインスタンスと本番インスタンス。

そこで、Jiraの1つのインスタンスとうまくインターフェースしていたモデルで、別のデータベースを使用できるようにしたいと思います。

モデルをインスタンス化するときにこれを実行できれば、おそらく次のようになります。

Jira::CustomField.new(:staging)

またはそのようなもの。

考え?これを達成するためのより良い方法は?述べられている私の目標は可能ですか?

4

1 に答える 1

2

ActiveRecord :: Baseのドキュメントで説明されているように、このestablish_connectionメソッドを使用して、さまざまなRailsモデルオブジェクトをさまざまなデータベースに接続するのは簡単です。

ただし、構成に基づいて同じクラスを複数のデータベースに接続する場合は、それは一種の苦痛になります。ここでActiveRecordを使用する必要がありますか、それともDataMapperを使用できますか?このシナリオでは、それがうまくいくと思います。1つのプロセスで使用するORM複数のデータベース接続sinatraアプリケーションを確認してください。例として

于 2011-04-15T17:01:35.350 に答える