外部キー制約を追加
適応バージョン
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.2.1
- 7.0.0
説明
指定したテーブルに外部キー制約を追加
使い方
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