create_tableでreference型で外部キー制約設定しつつ、on_deleteの挙動をcascadeにしたい
タイトル通りのことやりたくて調べたけど日本語の情報が見つけられなかった。。
下記を見れば解決。
https://stackoverflow.com/questions/30154798/option-for-cascade-delete-for-references-or-on-delete
日本語情報でよくみるパターン。
いったん、外部キー制約なしの状態でテーブル作り、それから外部キー制約を追加するパターン。
1 2 3 4 |
create_table :awesome do |t| t.references :parent_item end add_foreign_key :awesomes, :parent_items, on_delete: :cascade |
先に挙げたリンク先に載ってる方法。
まとめて書けて良いですね。
1 2 3 |
create_table :awesome do |t| t.references :parent_item, foreign_key: { on_delete: :cascade } end |