2009-02-02 42 views
3

我擔心Rails是否可以處理財務應用程序所需的複雜聚合類型,尤其是ORM是否可以有效處理這些聚合。 在我正在考慮使用的財務應用程序中,需要對各種方式彙總的詳細財務數據進行大量報告。如果沒有Rails ORM的支持,我需要編寫直接的SQL。但是我擔心的是,一旦我開始使用Rails,Rails的其他部分可能無法正常工作,因此我最終可能最終會使用Rails作爲其路由,而其他方面則很少。這是一個有效的擔憂還是我不必要地擔心?Rails ORM是否限制了執行聚合的能力?

+1

措辭恰當,完全無法回答的問題!具體而言,你擔心你可能無法做到,如果可能,舉個例子嗎?如果它不是特定的,至少可以用AR使SQL輕鬆適用於不那麼普通的情況的知識來彌補。 – 2009-02-02 19:52:16

回答

3

ActiveRecord的侷限性是我在科學環境中使用Rails時遇到問題的原因之一。你可能想看看替代紅寶石ORM的是使它更容易一點與傳統的數據庫工作:

雖然最終ORM的設計帶你遠離SQL等等有可能它們都不適合。

3

這個問題說明了一個相當廣泛討論的RoR問題 - 它對數據庫映射需求的困難相對不適。 (它確實是困難在於的ActiveRecord模式)。它喜歡將複雜的查詢分解爲更加貼近AR模型的簡單模型,您可能已經知道對錶格的抽象比較輕,基於例如簡單的關係。一對多的斷言。

所以我會說如果你自己接受SQL的責任,你會更舒服,然後讓RoR處理非持久性部分。

這不是一個限制RoR的窘境。大多數任何對象關係建模工具都會提出相同的問題。

(附註:我幾乎使用了縮寫ORM,但還有另外一個ORM是巧合專門處理這些類型的概念數據庫設計和abstration問題相當不錯:對象角色建模)

2

這有可能是Rails是不是適用於此應用程序的平臺。或者你可以考慮使用ActiveRecord來處理數據庫中的視圖。在您的視圖中彙總您的數據,然後使用'rails_sql_views'gem,您可以像普通模型一樣對待它們。 (我從來沒有使用過這一點,所以我不知道該怎麼好這工作在實踐中。)

鏈接:rails_sql_views

編輯:在進一步的檢查,你可能甚至不需要任何寶石,或任何其他特殊的設置來簡單地查詢視圖。

1

我喜歡活躍的記錄的原因是它允許你通過抽象。我還沒有遇到我無法用AR處理的情況。我敢肯定,可能有一些非常深奧的例子,但更好的問題是給出一個你想要做的查詢類型的例子,並讓別人告訴你如何在AR中做到這一點。

+0

好的建議。 – 2009-02-03 15:18:34

相關問題