(Rails ist Version 5.0.0, Rubin 2.3.0p0)Rails Migration mit add_foreign_key: ‚Spalte‚user_id‘in Fremdschlüssel verwiesen existiert nicht‘
Ich möchte eine Verbindung zwischen meiner Benutzer-Tabelle erstellen und Kartentisch. Ich habe belongs_to :user
zum Karten-Modell hinzugefügt, und has_many :cards
zum Benutzermodell und erstellt eine Migration mit:
class AddUserIdToCard < ActiveRecord::Migration[5.0]
def change
add_foreign_key :cards, :users, column: :user_id
end
end
Als ich rake db:migrate
laufen, erhalte ich die Fehlermeldung:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "user_id" referenced in foreign key constraint does not exist
: ALTER TABLE "cards" ADD CONSTRAINT "fk_rails_8ef7749967"
FOREIGN KEY ("user_id")
REFERENCES "users" ("id")
Jetzt zunächst I Um dieses Problem zu umgehen, indem einfach add_column :cards, :user_id, :integer
zur Migration hinzugefügt wurde, aber das scheint nicht wirklich sauber zu sein, und ich mache mir Sorgen um Probleme, die später auftauchen. Gibt es einen besseren Weg, dies zu erreichen?
Bitte markieren Sie die Antwort, wenn Sie eine Minute Zeit haben, da es richtig ist – rmcsharry