(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