0

約 10000 個のドキュメントのコレクションがあり、それぞれにいくつかの SQLite DB が含まれています。(*)

ドキュメント識別子に基づいて、これらの DB に含まれるテーブル用に作成している ActiveRecord モデルを自動的にサブクラス化して、各クラスで個別に Establish_connection を呼び出せるようにすることを考えています。

class Document < ActiveRecord::Base
end

class Document_xyz < Document
  establish_connection(.../xyz.sqlite)
end

これは実現可能ですか、またはすべてのデータベースを何らかの方法でマージしようとする必要があります (おそらく、テーブル名に ID をプレフィックスとして付けるか、列 (?) として) 単一の接続を確立できるようにする必要がありますか?

* 注: このファイルのセットアップは別の場所で使用されているため変更できませんが、Web インターフェイスを作成しているので、DB の場合にこのような多数を処理する可能性を研究しています。

4

2 に答える 2

0

モデルごとに必要な数のデータベース接続を開くことができます。とはいえ、モデルごとに 1 つの接続を使用すると、コーディングと使用がはるかに簡単になります。しかし、その多くの接続はマシンの膨大な量のリソースを消費するため、すべての異なるデータベースを反復処理し、それらの内容を grep して、すべてを 1 つのデータベース ファイルに書き込みます (効率的な関係をモデル化することを忘れないでください。可能)。

その後、データベースの操作は非常に高速かつ簡単になります。

于 2013-01-12T10:03:40.873 に答える
0

これを行うには、莫大なリソースが必要になる可能性があります。

データベースを json テンプレートに変換する rake タスクを作成すると、サーバー リソースをあまり気にせずにデータを操作できます。

ベンダーから sqlite データベースの json 表現が提供されるように要求する必要があります。

于 2013-01-12T09:32:00.290 に答える