(Rails是5.0.0版,紅寶石2.3.0p0)導軌和add_foreign_key遷移:「列‘user_ID的’外鍵約束中引用不存在」
我要創造我的用戶表之間的關聯和卡表。我已經添加belongs_to :user
到卡模式,has_many :cards
到用戶模式,創造一個與遷移:
class AddUserIdToCard < ActiveRecord::Migration[5.0]
def change
add_foreign_key :cards, :users, column: :user_id
end
end
當我運行rake db:migrate
,我收到錯誤:
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")
現在我最初只需在遷移中添加add_column :cards, :user_id, :integer
即可解決此問題,但這看起來並不很整齊,而且我擔心之後會出現問題。有沒有更好的方法來完成這一點?
請註明的答案,當你有一分鐘,因爲它是正確的 – rmcsharry