2012-12-24 42 views
1

我有用Devise生成的用戶模型。我應該如何更好地組織Rails應用程序中的相關數據表?

現在我想每個用戶具有其他列

- balance 
- paperclip logo 
- website 
- address 
- phone 
etc 

什麼是組織這些數據的最佳方式?

我應該製作單獨的表格(如電話表格,地址表格,Userlogo表格等)並建立一對一關係嗎?

我聽說把一切放在一張桌子上是不好的。

很高興聽到一些意見。

回答

1

將所有內容放在一個表:

  • 優點:無需連接來獲取用戶模型,從而節省查詢時間
  • 缺點:用戶模式將包含AA大量的數據,因此,如果你持有1000個用戶的陣列,它們會消耗內存

分離屬性:

  • 優勢:用戶模式將消耗很少的內存(僅適用於基礎知識,如電子郵件,姓名,....)
  • 缺點:大量的連接來獲取信息有關用戶

我覺得你的選擇很大程度上取決於您的應用程序的功能,因此如果您始終需要關於用戶的所有信息,那麼請將所有內容放在一張表中,其他方面則可以分開數據。 無論如何,你可以做到這一點,所以你可以有user模型和另一個模型名爲user_data,該模型將包含所有額外的信息,如phone,address等......這樣你就可以從兩種方法中獲益。

相關問題