Мне нужно сделать столбец как внешний ключ. Я провел много исследований по этому поводу. Я понял, что нужно добавить ассоциации. Я разбираюсь в опциях own_to , has_one и has_many . После создания ассоциаций рельсы знают, что существует ассоциация внешнего ключа. Если я удалю основную запись, то зависимая запись будет удалена приложением rails. Я читал о миграции и наткнулся на http://edgeguides.rubyonrails.org/active_record_migrations.html где упоминается: $ bin/rails generate migration AddUserRefToProducts user:references
будет генерировать:
class AddUserRefToProducts < ActiveRecord::Migration
def change
add_reference :products, :user, index: true, foreign_key: true
end
end
Теперь на веб-сайте: http://guides.rubyonrails.org/active_record_migrations.html, где это упоминается : $ bin/rails генерирует миграцию AddUserRefToProducts user:references
будет генерировать:
class AddUserRefToProducts < ActiveRecord::Migration
def change
add_reference :products, :user, index: true
end
end
Я понимаю создание index. Нужно ли мне иметь external_key: true явно или нет? какая разница?