古いバージョンのドキュメントです。最新のバージョンはRails7.0.0

Railsドキュメント(v6.0.2.1)

外部キー制約を追加

説明

指定したテーブルに外部キー制約を追加

使い方

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

ソースコード