我要的东西可以在rails-guides的这一部分中看到:https://guides.rubyonrails.org/active_record_migrations.html#creating-a-standalone-migration
在此处粘贴相关代码:
class CreateJoinTableCustomerProduct < ActiveRecord::Migration[5.0]
def change
create_join_table :customers, :products do |t|
# t.index [:customer_id, :product_id]
# t.index [:product_id, :customer_id]
end
end
end
请注意两个t.index
。通常,当我为联接表创建迁移时,我只创建一个覆盖两个列的索引。这条来自rails-docs的代码对我很突出(为工作找了条钢轨)。
我知道的是,在联接表上具有这样的复合索引将提高该联接表的查询速度,并会影响该表的插入时间。
但是,困扰我的是文档是否在哄骗我在同一列上创建两个索引。如果有人可以为我澄清这一点,那就太好了。