Ruby on rails postgresql数据库迁移中的关系问题

Ruby on rails postgresql数据库迁移中的关系问题,ruby-on-rails,postgresql,ruby-on-rails-4,Ruby On Rails,Postgresql,Ruby On Rails 4,我正在阅读Rails速成课程手册,项目是创建一个社交tumblr风格的克隆。我已经创建了一个只包含名称和id的用户模型(并且已经迁移),现在我正尝试实现tumblr所实现的以下/subscription样式。本书提供了以下内容来创建新模型和迁移: bin/rails g model Subscription leader:references follower:references 思想是领导者将被跟随的人,而跟随者显然是跟随者。但两者都将引用用户表中的id 问题在于迁移。我得到以下信息: P

我正在阅读Rails速成课程手册,项目是创建一个社交tumblr风格的克隆。我已经创建了一个只包含名称和id的用户模型(并且已经迁移),现在我正尝试实现tumblr所实现的以下/subscription样式。本书提供了以下内容来创建新模型和迁移:

bin/rails g model Subscription leader:references follower:references
思想是领导者将被跟随的人,而跟随者显然是跟随者。但两者都将引用用户表中的id

问题在于迁移。我得到以下信息:

PG::UndefinedTable: ERROR:  relation "leaders" does not exist
: ALTER TABLE "subscriptions" ADD CONSTRAINT "fk_rails_7b4891a3a6"
FOREIGN KEY ("leader_id")
  REFERENCES "leaders" ("id")
再加上一堆看起来几乎一模一样的东西


虽然我假设它抛出了一个错误,因为不存在具有自己id的leader表,但是否有方法修复迁移以引用每个引用的user.id,或者我只需要手动创建每个列?

我认为这是Postgres特有的问题。您可以使用以下方法绕过它:

bin/rails g model Subscription leader_id:integer:index follower_id:integer:index

谢谢你,埃里克!唯一令人不快的是,它没有以这种方式生成具有nice-atto:引用的模型,但这不是问题。哦,新问题。有没有办法在迁移过程中向这两个列添加外键?您是说直接在命令行上?我不这么认为,但您可以随时手动编辑该迁移。