Rails 5 命令rails g migration create_foo_bar_join_table
生成以下迁移:
class CreateFooBarJoinTable < ActiveRecord::Migration[5.0]
def change
create_join_table :foos, :bars do |t|
# t.index [:foo_id, :bar_id]
# t.index [:bar_id, :foo_id]
end
end
end
为什么生成器使用复合键存根两个(双向)索引?还有为什么他们被注释掉了?我对此感到困惑,找不到任何明确的解释来说明这些建议的默认值。
上述索引是否比以下索引更高效?
...
create_join_table :foos, :bars do |t|
t.index :foo_id
t.index :bar_id
end
...