2014-03-06 39 views
2

我試圖確定Rails是否有每個數據庫條目的內置主鍵ID,或者如果在運行時需要明確定義id:integer等ID。到目前爲止,我已經運行了很多帖子,詢問如何更改主鍵行爲或者如何創建多列索引,但是沒有說明Rails如何默認處理主鍵,事實上,它確實如此。我是否需要在Rails遷移中顯式創建ID?

如果只是在運行時使用id:integer的問題rails generate是否還有其他必要的事項來確保將該列用作主鍵?我已經看到:primary => true提到但很少解釋爲什麼它被包含在任何特定的例子中。通常它是處理上述多列索引的解釋的一部分。

回答

5

do not需要在您的遷移中明確定義列id,因爲Rails會照顧到這一點。對於您創建的每個表,Rails都會創建一個id:integer列作爲主鍵。 Rails不會在migration fileschema.rb中顯示它,但可以轉到rails dbconsole並檢查架構。

+0

優秀。謝謝。理智跟蹤:當Rails處理它時,唯一性也得到了保證? – theillien

+1

是。主鍵=獨特+非空 –

+0

再次,謝謝。 – theillien

相關問題