2012-02-15 38 views
0

我有一個包含多個表的數據庫,每個表都包含可能不遵循滑軌命名約定的列。
是否有一種工具可以從這些表格創建ActiveRecord模型,還是需要一個接一個地執行此操作?將滑軌連接到現有的postgres數據庫 - 控制檯和控制器看不到的模型

如果我手動創建一個表的ActiveRecord模型,但是這樣可以嗎? (沒有隱藏DB標識需要在它的上面?)

UPDATE

我已經試過magicmodels但不能有工作(它已經有一段時間,因爲這是最後一次修改)似乎並沒有被

- change the database.yml so it points towards my existing Postresql database 
- manually create my models such as: 

    # app/models/user.rb 
    class User < ActiveRecord::Base 
    end 

- run the console and tried 
    User.all 

=> I end up with an error saying that contant User was not initialized. 
Doesn't the console import the model automatically ? Or is that linked to the fact the configuration I did is not correct ? 
+0

魔法工具怎麼知道該怎麼做? – 2012-02-15 17:30:43

+0

也許就像magic_model_generator一樣,這似乎是一個有趣的選項,雖然 – Luc 2012-02-15 17:43:28

回答

1

ActiveRecord可以與傳統數據庫一起工作。我做了一個後端系統,沒有使用ActiveRecord的Rails作爲我的ORM。 「ActiveRecord Without Rails」讓我開始了。 「Using ActiveRecord outside Rails」也是有用的。搜索谷歌「使用activerecord沒有rails」,你會發現更多。

你不需要一個完全充實的模型。只需使用所需表的基類,ActiveRecord將查詢數據庫中的所需內容。它不會知道表關係,但對於一般查詢它會做得很好。隨時隨地建立關係並需要它們。

+0

我已經建立了database.yml配置文件,並且還創建了我擁有的每個表的模型。我可以運行'rails console',但是當我嘗試使用User.all時,出現錯誤,提示「NameError:未初始化的常量用戶」 – Luc 2012-02-16 22:35:02

+0

我認爲您需要包含模型文件。自從我玩了一段時間後,這已經有一段時間了。 – 2012-02-17 01:52:32

+0

自從我上次使用rails的時候已經有一段時間了,但是如果我記得控制檯爲你處理導入 – Luc 2012-02-17 09:34:46

2

http://magicmodels.rubyforge.org/magic_model_generator/可能是你在找什麼:與軌道3.2

什麼,然後我試圖兼容。我還沒有聽說過許多提供此功能的工具,但許多Rails應用程序是從頭開始設計的,而不是給定傳統數據庫,然後從中創建模型。

您可以輕鬆創建模型,並將它們映射到幾乎任何數據庫表。模型有一個「set_table_name'name'」,可以將單個模型映射的鋼軌默認約定重寫爲多個數據庫表名。