我在迁移中创建了两个引用,它们是对我的 User 表的引用的别名:
class CreateInvitations < ActiveRecord::Migration[5.0]
def change
create_table :invitations do |t|
t.references :owner, references: :user, foreign_key: true # the owner
t.references :invitee, references: :user, foreign_key: true # the invitee
t.references :core_bot, foreign_key: true # the associated page (core_bot_active)
t.string :email
t.string :token
t.timestamps
end
end
end
在我的用户模型中:
has_many :invitations, foreign_key: :owner_id
has_many :invitations, foreign_key: :invitee_id, dependent: :destroy
在我的邀请模型中:
belongs_to :owner, class_name: :User
belongs_to :invitee, class_name: :User
在开发中一切都运行良好,但是当我尝试使用 Heroku 迁移到生产环境时heroku run rake db:migrate
,我收到以下错误:
PG::UndefinedTable:错误:关系“所有者”不存在:创建
TABLE "invitations" ("id" 序列主键, "owner_id" 整数,
“invitee_id”整数,“core_bot_id”整数,“电子邮件”字符
变化,“token”字符变化,“created_at”时间戳不为空,
“updated_at”时间戳不为空,约束“fk_rails_59e24979a9”
外键(“owner_id”)引用“所有者”(“id”),约束
“fk_rails_00204dc74b”外键(“invitee_id”)参考
“被邀请者”(“id”),约束“fk_rails_34505bdb65”外键
("core_bot_id") 参考文献 "core_bots" ("id") )
我试过没有references: :user
但我得到同样的错误。
知道这里出了什么问题吗?