如何在 rails 中使用级联删除将列添加为外键

How to add column as foreign key with cascade delete in rails

我有两个table 一种产品和另一种用途

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" 在外键约束中引用不存在

解决方案是 ref_name 应该是单数

 add_reference(:usages, :product, foreign_key: { on_delete: :cascade })