2011-06-16 54 views
4

有沒有一種方法可以作爲模型的表訪問我的數據庫視圖?Rails是否可以識別數據庫視圖?

+0

我沒有得到問題 – fl00r 2011-06-16 12:33:39

+5

基本上他/她想知道你是否可以使用帶有ActiveRecord的VIEW。即'CREATE VIEW some_view AS SELECT * FROM tbl'。因爲AR是反思性的,所以它可能不理解它。 DM(DataMapper)可以很好地處理它,因爲它沒有試圖反思。 – d11wtq 2011-06-16 12:39:03

+1

我*想*他問他是否可以生成一個模型,而不是依賴於一個表,使用數據庫視圖(而不是MVC/Rails視圖)。爲了確保我清楚(而不是教學)一個視圖生成的一些SQL和內置到數據庫模式,因此它可以被視爲SQL交互中的表... – jaydel 2011-06-16 12:40:00

回答

1

我發現,似乎可以解釋的事情做好,並且還提供了「良好」的消息在db views in rails此鏈接...

0

是的,你可以使用視圖就好了,他們的行爲就像在ActiveRecord的表。我不知道你在使用什麼數據庫,但是我在Oracle中使用它們,並沒有遇到任何問題。

唯一的區別是,如果你想讓你的遷移自動創建它們,你必須放棄典型的create_table,而是執行SQL語句來創建它。

+0

我使用的是oracle,但是當我在模型中編寫'set_table_name:myview'時出現問題,並在我的控制檯中檢查它是否顯示'表不存在' – usmanali 2011-06-17 05:21:33

+0

@usmanali,你也必須爲該視圖授予適當的權限,或者其行爲不存在。 – 2011-06-18 12:25:20

+0

您使用的是activerecord-oracle_enhanced驅動程序嗎? – 2011-06-18 12:25:55