0

我有大约 10000 个文档的集合,每个文档都包含几个 SQLite DB。(*)

我正在考虑根据文档标识符自动对我正在为这些数据库中包含的表编写的 ActiveRecord 模型进行子类化,以便我可以分别在每个类上调用建立连接。

class Document < ActiveRecord::Base
end

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

这是可行的,还是我应该尝试以某种方式将所有数据库合并在一起(可能通过在表名上添加 ID 前缀,或者作为列(?)),这样我就可以建立一个连接?

* 注意:我无法更改此文件设置,因为它正在其他地方使用,但我正在制作一个 Web 界面,因此我正在研究处理如此大量 DB 的可能性。

4

2 回答 2

0

要做到这一点,可能需要大量资源。

您可以编写一个 rake 任务,将数据库转换为 json 模板,然后您可以随意操作数据,而无需过多关注服务器资源。

您确实应该要求供应商提供 sqlite 数据库的 json 表示。

于 2013-01-12T09:32:00.290 回答
0

您可以为每个模型打开任意数量的数据库连接。也就是说,每个模型只有一个连接会更好,更容易编码和使用。但是这么多的连接会消耗你机器的大量资源,所以......遍历所有不同的数据库,grep它们的内容,并将它们全部写入一个数据库文件(不要忘记建模一个有效的关系,如果可能的)。

之后,使用数据库应该非常快速和容易。

于 2013-01-12T10:03:40.873 回答