一、一些默認的命名規則
在Ruby on Rails中,通過一些默認的命名規則來建立模型(Model)和數據庫中的表(DB Table)之間的關係。Rails會將你定義的類名稱的複數形式作爲數據庫中表的名稱。例如,你定義了一個名爲Book的類,那麼在數據庫中就對應的有一個名爲books的表。Rails的這個功能非常強大,不管你定義的類的名稱是規則名詞還是不規則名詞,它都會自動的找到它的複數形式。如果你在定義類名的時候使用了兩個以上的名詞,在對Model類命名的時候Rails要求採用駝峯法,數據庫則會通過下劃線將兩個單詞分開的方式對錶進行命名。下面是一些例子:
Model / Class | Table / Schema |
---|---|
Article |
articles |
LineItem |
line_items |
Deer |
deers |
Mouse |
mice |
Person |
people |
二、 表中關於列的一些默認的命名規則
如果Active Record使用到了兩個表的數據,則可能會在其中一個表中通過外鍵的形式引入另一個表的數據。我們一般用引入對象表的表名+下劃線+“id”作爲外鍵的列名來使用。
當使用rails generate migration命令創建表格的時候,表中會自動生成一個名爲id的列,這一列就是該表的主鍵。
下面我們對生成的表中的一些常見列進行說明:
created_at
- 表示該記錄被生成的時間。
updated_at
- 表示該記錄被更新的時間。
lock_version
- 對該模型添加的一個樂觀鎖。
type
- 形容該模型單表繼承。
(association_name)_type
- 保存多態關聯的類型。