我可以在不映射所有表的情况下使用 Activerecord 吗?

Can i use Activerecord without mapping all the tables

我对一个大型系统进行自动化测试,我需要在不同的数据库中验证许多 table。我正在考虑使用 Active Record,但我在研究中看到的所有示例都表明要使用的 tables 首先被映射并用作模型。有没有办法不用映射就可以使用活动记录?如果是的话是哪些? 我目前正在使用 OCI8

如果为了简单的验证这个我每个映射table会很费时间,奖金真的这么高吗?

我不是 Active Records 方面的专家,但我知道您正在尝试做什么。快速搜索后,我没有找到任何关于在 Active Records 中查询 "unmapped" 表的方法。

如果你有能力挑选宝石,我认为 Sequel 会很适合你的需求。您无需映射任何内容即可开始,因为数据库模式由 Sequel 本身解析。

假设您有 3 个表 stuff_1stuff_2foo,您可以简单地访问它们并进行一些查询,而无需在代码中声明任何内容,例如:

DB[:stuff_1].where(:is_cool => true, :group => "test").each do |stuff_1|
  # stuff_1 is a hash containing the information of the row, indexed by the table column names 
end

DB[:stuff_2].where(:is_archived => true).count

DB[:foo].all

Sequel 调用该数据集,这非常灵活。有关数据集的更多信息,请访问:http://sequel.jeremyevans.net/rdoc/files/doc/dataset_basics_rdoc.html

完整 Sequel 文档:http://sequel.jeremyevans.net/documentation.html