在 rails 中添加级联删除

Adding cascade deletion in a rails

我有一个 schema.rb 有:

add_foreign_key "dog", "trees"

我想说:

add_foreign_key "dog", "trees", on_delete: :cascade

我正在考虑这样的迁移:

class ModifyTreeRefFromDogs < ActiveRecord::Migration
  def change
    change_column  ...
  end
end

删除它并重新添加它(它是一个索引,不会丢失任何信息)。

class ModifyTreeRefFromDogs < ActiveRecord::Migration
  def change
    remove_foreign_key "dog", "trees"
    add_foreign_key "dog", "trees", on_delete: :cascade
  end
end

注意:这似乎是 rails 中外键的一个很好的参考,并且完全包含您尝试过的 on_delete 代码:Foreign Keys in Rails 4.2