2016-03-22 38 views
3

VenuesClientsのアプリケーションがあります。Rails - PG外部キー違反での削除

各会場には多くのクライアントを持っています

class Venue < ActiveRecord::Base 
    has_many :clients 
end 

私はいくつかの会場を削除しようとすると、Postgresは外部キー制約違反文句:

PG::ForeignKeyViolation: ERROR: update or delete on table "venues" violates foreign key constraint "fk_rails_3afaf2f5fc" on table "clients" DETAIL: Key (id)=(3) is still referenced from table "clients". : DELETE FROM "venues" WHERE "venues"."id" = $1 

dependent: :destroyを追加することで解決するのは簡単だろう協会。

しかし、私はクライアントがいなくても、会場がなくても欲しいです。

答えて

7

nullifyを使用できます。クライアントのvenue_idをnullに設定します。しかし、列から外部キー制約を削除する必要があります。

has_many :clients, dependent: :nullify 
+0

パーフェクト!ちょうど私が必要としたもの。 – goo

関連する問題