備忘録のために書きます。
(こんなケースほとんど無いだろうけど)
1つのテーブルの複数のカラムに外部キー制約をかけようとしてReferences を使おうとしたらRake abotedされました。
References を1つだけに絞ると通ったので、add_reference で強引に追加しました。
エラーがでるパターン
class CreateLikes < ActiveRecord::Migration[5.2]
def change
create_table :likes do |t|
t.references :user, foreign_key: true
t.references :item, foreign_key: true
t.timestamps
end
end
end
出ないパターン
class CreateLikes < ActiveRecord::Migration[5.2]
def change
create_table :likes do |t|
t.references :user, foreign_key: true
t.timestamps
end
add_reference :likes, :item, foreign_key: true
end
end
そもそも外部キーを複数つけるのがあまり良く無いのでは無いだろうか・・・