Rails ORM 是否限制执行聚合的能力?
-
21-08-2019 - |
题
我担心 Rails 是否可以处理金融应用程序所需的复杂聚合类型,特别是 ORM 是否可以有效地处理这些类型。在我正在考虑使用它的财务应用程序中,需要对以各种方式汇总的详细财务数据进行大量报告。如果没有 Rails ORM 的支持,我需要直接编写 SQL。但我担心一旦我开始这样做,Rails 的其他部分可能无法正常工作,因此我最终可能主要使用 Rails 来处理其路线,而很少使用其他部分。这是一个合理的担忧还是我不必要地担心?
其他提示
这个问题说明了这是相当广泛讨论的一个问题,回报率 - 它的困难数据库映射的要求相对不舒服。 (它是真正困难所在ActiveRecord的模式)。它喜欢复杂的查询分解成简单的适合更贴近于AR模型,你可能已经知道是在表比较轻的抽象,基于例如简单的关系一到许多类型的断言。
所以我说,如果你自己接受SQL责任,然后让RoR的处理非持久性的部分,你会更舒服。
这是不限于RoR的窘境。几乎任何对象 - 关系建模工具提出了同样的问题。
(脚注:我几乎所用的缩写ORM,但有该巧合处理具体这些类型的概念数据库设计和abstration问题很好地另一个ORM:对象角色建模)
这有可能是Rails是不用于该应用的适当平台。或者你可以考虑使用ActiveRecord的反对意见在你的数据库。总结在你的意见你的数据,然后使用“rails_sql_views”的宝石,你可以像对待普通车型。 (我从来没有使用过这一点,所以我不知道该怎么好这工作在实践中。)
链接: rails_sql_views
编辑:在进一步的检查,你可能甚至不需要任何宝石,或其他任何特殊设置简单查询反对意见
。我喜欢的活动记录的原因是,它允许你通过抽象戳。我还没有碰到一个情况下,我无法AR处理。我敢肯定,有可能会出现一些非常深奥的例子,但一个更好的问题将是给你想做的事,让别人告诉你如何做到这一点在AR查询类型的例子。