我正在撰写涉及外键的迁移。看着我的同事代码,我看到他添加了一行:t.reference :tablename, index: true
参考部分是有道理的,但我不知道index: true
的含义。有人能告诉我吗?我还没有在文档中找到它。
注意:这不是重复:Rails ActiveRecord::Migration what is the difference between index: true and add_index?这只是两者的区别,但并不能解释它们的作用。
答案 0 :(得分:17)
index: true
向引用的列添加数据库索引。例如,如果创建:products表:
create_table :products do |t|
t.references :user, index: true
end
这将在user_id
表格中创建products
列。它还会在user_id
列上创建一个名为index_products_on_user_id
的非唯一索引。
答案 1 :(得分:0)
好吧,当你创建这个add_reference时,你要跟rails一起在" product table"中添加一个user_id。我认为id对连接不同的表很有用。