【问题标题】:ActiveRecord, what does "index: true" mean?ActiveRecord,“索引:真”是什么意思?
【发布时间】:2014-09-28 12:57:29
【问题描述】:

我正在编写一个涉及外键的迁移。看同事的代码,发现他加了一行:t.reference :tablename, index: true

t.reference 部分是有道理的,但我不知道index: true 是什么意思。谁能告诉我?我无法在文档中找到它。

注意:这不是 Rails ActiveRecord::Migration what is the difference between index: true and add_index? 的重复,这只是区分两者,但没有解释它们的作用。

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:

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

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

    这将在名为index_products_on_user_idproducts 表中的user_id 列上创建一个非唯一索引。

    【讨论】:

    • 我还对什么是数据库索引感到困惑。我发现维基文章 here 很有帮助。
    • @alex0112 如果您觉得这篇文章有帮助,请发布一个新的答案,分享您的发现和资料。有些人不检查 cmets。
    • 出于某种原因,我必须使用 t.references 复数才能使其工作。不知道为什么,rake db:migrate 吐出错误并建议我使用references 而不是使用rails 5.XX 查看此问题的任何人的参考 - 这也是--database=postgresql 命令中的--database=postgresql 标志。
    猜你喜欢
    • 2018-06-21
    • 1970-01-01
    • 2012-05-18
    • 2010-09-16
    • 2022-11-25
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多