外部キー制約を追加
説明
指定したテーブルに外部キー制約を追加
使い方
add_foreign_key(テーブル名, 参照先テーブル名 [, オプション])
オプション
| オプション | 説明 |
|---|---|
| :column | 外部キーカラム名 |
| :primary_key | 参照先テーブルの主キー |
| :name | 制約 |
| :on_delete | 削除時のアクション |
| :on_update | 更新時のアクション |
| :validate | バリデート |
例
外部キー制約を追加
add_foreign_key :articles, :authors
# ALTER TABLE "articles" ADD CONSTRAINT fk_rails_e74ce85cbc FOREIGN KEY ("author_id") REFERENCES "authors" ("id")
主キーを指定
add_foreign_key :articles, :users, column: :author_id, primary_key: "lng_id"
# ALTER TABLE "articles" ADD CONSTRAINT fk_rails_58ca3d3a82 FOREIGN KEY ("author_id") REFERENCES "users" ("lng_id")
削除時のアクションを指定
add_foreign_key :articles, :authors, on_delete: :cascade
# ALTER TABLE "articles" ADD CONSTRAINT fk_rails_e74ce85cbc FOREIGN KEY ("author_id") REFERENCES "authors" ("id") ON DELETE CASCADE