То, что я прошу, можно увидеть в этом разделе направляющих рельсов: 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 выпал мне (сбор рельсов для работы).
Что я знаю, так это то, что наличие такого составного индекса в таблице соединений увеличило бы скорость запросов в этом соединении-table, и повлияет на время вставки в эту таблицу.
Однако меня беспокоит то, подталкивают ли меня документы к созданию двух индексов для одних и тех же столбцов.Было бы здорово, если бы кто-нибудь мог уточнить это для меня.