在SO上有一个非常类似的问题。现答覆如下:
先删除用户11的注释,或者更改外键,使其处于“启动删除级联”模式--删除父记录将导致自动删除子记录。
但我认为这是dependent: :destroy的目的。删除记录时,它会删除其关联。
我有以下几点:
class Venue < ApplicationRecord
has_many :entrees, dependent: :destroy
end
class Entree < ApplicationRecord
belongs_to :venue
end我尝试以下几点:
Venue.delete_all
DELETE FROM "venues"
ActiveRecord::InvalidForeignKey: PG::ForeignKeyViolation: ERROR: update or delete on table "venues" violates foreign key constraint "fk_rails_8fda228aa3" on table "entrees"我是不是错过了dependent: :destroy的目的?另外,如果dependent: :destroy只打算删除没有外键约束的关联,那么我如何删除具有外键约束的受抚养人?是否有Rails级联选项?
发布于 2018-09-18 11:10:16
它的工作,试试这个
ActiveRecord::Base.connection.disable_referential_integrity do
Book.destroy_all
Genre.destroy_all
end发布于 2018-01-13 04:07:01
尝试以下几点
Venue.destroy_all对我来说很管用
Venue.delete_all不工作
https://stackoverflow.com/questions/48234261
复制相似问题