1

私のレールアプリでは、アプリで複数のデータベースを使用する必要があります. しかし、このテーブルはこのデータベースから、別のデータベースから、別のデータベースからのものでなければならないことをどのようにレールに伝えることができますか。私はmysqlを使用しています。構成は次のようになります。

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: Mycorp_development
  pool: 5
  username: root
  password: root
  socket: /var/run/mysqld/mysqld.sock

およびモデルの1つ(レールウェイではないことは知っていますが、dbは私のものではありません)

class Article < ActiveRecord::Base
  attr_accessible :ART_ID, :ART_ARTICLE_NR,  :ART_SUP_ID,  :ART_DES_ID,  :ART_COMPLETE_DES_ID, :ART_CTM, :ART_PACK_SELFSERVICE,  :ART_MATERIAL_MARK, :ART_REPLACEMENT, :ART_ACCESSORY, :ART_BATCH_SIZE1, :ART_BATCH_SIZE2, :QUANTITYM, :PRICEM
  set_table_name "ARTICLES"
  set_primary_key :ART_ID
end
4

1 に答える 1

1

ActiveRecord は、2 つの異なるデータベースと通信するようには作成されていません。

確かにhttps://github.com/cherring/connection_ninjaは回避策を提供しているようです。私はそれをテストしていませんが、これを使用するのは非常に慎重です。

つまり、いくつかの壁にぶつかり、何が起こっているのかを理解するために AR の内部を掘り下げる必要があるということです。

2 つのデータベースを処理する必要があることを考えると、すぐに使用できる複数のデータベースをサポートする次の 2 つの代替案を検討することを強くお勧めします。

これらは Rails 3 とうまく連携します。

于 2012-10-02T15:19:21.363 に答える