🖥
#Rails マイグレーションで on_delete: :nullify を指定して、 DB に ON DELETE SET NULL の外
例
class CreateBook < ActiveRecord::Migration[5.2]
def change
create_table :book do |t|
t.references :user, foreign_key: { on_delete: :nullify }
end
# あとから追加する場合は多分こう
# add_foreign_key "books", "users", on_update: :nullify
end
end
ON DELETE SET NULL とは
- 親のレコード = user が削除された時に、子が持っている親のID = user_id が null に更新される
- 親のレコード = user が削除された時に、子のレコード = book は削除されない
参考
Original by Github issue
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2019-11-08
Discussion