【Ruby on Rails】migrationファイルに外部キー制約を付与する。

目次

外部キー制約について

class CreateProducts < ActiveRecord::Migration[7.0]
  def change
    create_table :goriras, comment: " ゴリラ" do |t| 
      t.references :animal, foreign_key: true, comment: "動物id"  ## ここ
      t.string :name, comment: "ゴリラ名"
      t.text :self_introduction, commnet: "自己紹介文"

      t.timestamps
    end
  end
end

t.referencesを使用するときの注意点

t.references :animal, foreign_key: trueこの記述によって外部キー制約をつけることができる。ちなみにt.referencesと書くだけでは外部キー制約は付与されないので、`foreign_key: true‘と書く必要がある。これを書くことによって、外部キー制約とプラスでindexをanimal_idにはることができる。

ちなみに_idとする必要はない

そうそう、t.referenceを使用する時は、animal_idと書く必要はなく、amnimlで済むので注意。

Railsガイドはこちら

Active Record の関連付け - Rails...
Active Record の関連付け - Railsガイド Active Recordが提供するすべての関連付け機能について解説します。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

東京のIT企業に所属しながらフルリモートで働く現役Webエンジニア。体育会出身で営業職からプログラミングを学び始め、2020年秋に未経験ながらエンジニアとして転職。Jリーグ下部組織出身/水戸商業サッカー部OB/欧州でのトライアウト経験あり

コメント

コメントする

CAPTCHA


目次