Ruby on rails ActiveRecord的作用是什么;索引:true";什么意思?

Ruby on rails ActiveRecord的作用是什么;索引:true";什么意思?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在编写一个包含外键的迁移。查看我同事的代码,我看到他添加了一行:t.reference:tablename,index:true t.reference部分有道理,但我不知道index:true的意思。有人能告诉我吗?我在文件里找不到 注意:这不是:的副本,它只区分了这两个,但没有解释它们的作用。index:true将数据库索引添加到引用列中。例如,如果创建:products表: create_table :products do |t| t.references :user, inde

我正在编写一个包含外键的迁移。查看我同事的代码,我看到他添加了一行:
t.reference:tablename,index:true

t.reference部分有道理,但我不知道index:true的意思。有人能告诉我吗?我在文件里找不到


注意:这不是:的副本,它只区分了这两个,但没有解释它们的作用。

index:true将数据库索引添加到引用列中。例如,如果创建:products表:

create_table :products do |t|
  t.references :user, index: true
end

这将在
products
表中名为
index\u products\u on\u user\u id

user\u id
列上创建一个非唯一索引,我还不清楚什么是数据库索引。我发现这篇维基文章很有帮助。@alex0112如果你觉得这篇文章很有帮助,请发布一个新的答案,分享你的发现和资料。有些人不查看评论。出于某种原因,我不得不做
t.references
multiplex才能让它起作用。不知道为什么,
rakedb:migrate
抛出了错误,并建议我使用
references
,而不是使用rails 5.X.X查看此文件的任何人的参考-这也是使用
--database=postgresql
命令中的
标志。