レールジェネレータを使用してdbテーブルを作成する際に問題があります。Railsのマイグレーションリファレンスの名前の規則
私はテーブルpersonal_dataを指定して正常に動作します。
class CreatePersonalData < ActiveRecord::Migration
def change
create_table :personal_data do |t|
t.string :name
t.string :lastName
t.string :dni
t.string :contact
t.references :user, index: true, foreign_key: true
t.timestamps null: false
end
end
end
しかし、私は個人的なデータ
class CreateMerchants < ActiveRecord::Migration
def change
create_table :merchants do |t|
t.string :storeName
t.references :personal_data, index: true, foreign_key: true
t.references :category, index: true, foreign_key: true
t.string :webPage
t.string :city
t.timestamps null: false
end
end
end
とを参照して、別のテーブルを作成し、実行ではなくpersonal_data_id移行を求めての移行がpersonal_datum_idを探し、スローと例外。
PG::UndefinedColumn: ERROR: no existe la columna «personal_datum_id» referida en la llave foránea : ALTER TABLE "merchants" ADD CONSTRAINT "fk_rails_e4239c30dc" FOREIGN KEY ("personal_datum_id") REFERENCES "personal_data" ("id")
私は英語
column "personal_datum_id" referenced in foreign key constraint does not exist
を実行します。テーブル名は複数です。 「データ」は複数で、「データム」は単数であると言えます。したがって、私がidを検索すると、それは 'personal_datum_id'のために行きます。テーブル名がpersonal_datasなのかどうかはわかりませんが、エラーはありません。 –