2017-10-09 43 views
1

我是新來的rails世界,我需要使用現有的數據庫的rails項目,例如我有一個「遊戲」表,沒有列created_at和updated_at,如果我將它們添加到postgres終端中,rails會將我的表格識別爲對象(例如「遊戲」)?或者我應該爲我的數據庫中的每個表生成模型?以對象形式提取所有表並從控制器使用它們的正確方法是什麼?如何使用postgres數據庫,就好像它是原生的Rails

+0

搜索「rails reverse engineering postgres」 –

回答

0

正如評論所說,一個版本是使用某種逆向工程的寶石,將自動與所有關聯生成數據庫表的模型,外鍵等

,但如果你是新來的Rails ,我肯定會建議你手工做這件事,原因有幾個:

  1. 那些寶石不會理解命名空間(我的一個猜測)例如如果你有admin_users,admin_other_table,admin_suggestions表,紅寶石中最合理的類名是Admin::User,Admin::OtherTable,Admin::Suggestion,但是這些寶石沒有辦法理解這一點。

  2. 如果它更有意義的模式命名不是表不同(然後用self.table_name=映射正確的表,寶石也無濟於事。

  3. 如果協會需要定義只有一個辦法那你模型會得到很多代碼,只是沒用(如果你有「用戶有很多文章,外鍵爲author_id」,也許你不需要user.articles方法,但是你會去得到它。

可能有更多的這些情況。所以我w應強烈建議手動完成,以便完全控制寫入的代碼類型。

相關問題