2015-12-28 108 views
1

我有一個User表和Product表。有一個has_many :products和一個belongs_to :user的關係。我正確定義了產品和用戶模型......我的問題是關於設置遷移,以便模式正確。我試過了,這是我得到的模式中的額外行。Rails:使用遷移來創建關聯

add_index "product", ["user_id"], name: "index_product_on_user_id"

然後我上網一看,而是的add_index其他代碼有add_reference ......關係?不確定名稱:「index_product_on_user_id」。謝謝!

+0

我想它應該是產品而不是產品'add_index「產品'' –

+0

'add_index:products,:user_id' –

+0

產品表中會有多個相同的'user_id'。爲什麼你想索引'user_id'而不是你應該索引產品'id'。 –

回答

2

add_reference添加所需的列和(可選)創建索引,而add_index只是創建索引,因此如果您想使用add_index,則需要單獨創建列。

幾乎不需要設置索引名稱 - 它不會影響索引的工作方式或使用方式(一種情況是自動生成的索引名稱超過最大索引長度的位置)。

相關問題