1
多个引用我有一个具有用户和teammember(均为用户)消息模型。 型号有:Rails的:到相同型号的错误
# message.rb
class Message < ActiveRecord::Base
belongs_to :user
belongs_to :teammember, :class_name => "User", :foreign_key => 'teammember_id'
end
# user.rb
class User < ActiveRecord::Base
has_many :messages
end
而且我有这个迁移:
class CreateMessages < ActiveRecord::Migration
def change
create_table :messages do |t|
t.references :user, index: true, foreign_key: true
t.references :teammember, index: true, foreign_key: true
t.text :body
t.boolean :read, default: false
t.timestamps null: false
end
end
end
当我运行耙分贝:迁移本地(与sqlite3的)一切工作正常。 的问题是,当我部署到Heroku的(使用PostgreSQL的),然后运行
heroku run rake db:migrate
这又引出了另一个错误:
PG::UndefinedTable: ERROR: relation "teammembers" does not exist : ALTER TABLE "messages" ADD CONSTRAINT "fk_rails_7efc67ccc9" FOREIGN KEY ("teammember_id") REFERENCES "teammembers" ("id")
你知道是什么问题,我该如何解决?
作为补充答案,还有的OP本地机器上没有任何怨言运行'sqlite'因为轨道SQLite的适配器不支持foreign_key(所以完全忽略了这个问题的一部分),只有MySQL的&PG适配器做HTTP ://edgeguides.rubyonrails.org/4_2_release_notes.html#foreign-key-support – Nimir
@Nimir,谢谢。这是一个有趣的观点。 –