Как добавить столбец в качестве внешнего ключа с каскадным удалением в рельсах

У меня есть две таблицы одного продукта и другого использования

Product
#  id                  :integer          not null, primary key
#  product_name        :string           not null
#  plan_id             :string
#  plan_name           :string

Usage
#  id              :integer          not null, primary key
#  quantity        :float
#  date            :date

Хотите добавить product_id в качестве внешнего ключа при использовании

я пытаюсь запустить миграцию

 def change
    add_reference(:usages, :products, foreign_key: { on_delete: :cascade })
 end

Получение столбца ошибки "product_id", на который ссылается ограничение внешнего ключа, не существует


person Kunal Vashist    schedule 24.12.2019    source источник
comment
Я думаю add_reference(:usages, :product, foreign_key: { on_delete: :cascade }). Оно должно быть в единственном числе. product вместо products.   -  person Pardeep Dhingra    schedule 24.12.2019


Ответы (1)


Решение: ref_name должно быть в единственном числе

 add_reference(:usages, :product, foreign_key: { on_delete: :cascade })
person Kunal Vashist    schedule 02.01.2020