Ruby on rails 如何更改Rails中的外键字段?

Ruby on rails 如何更改Rails中的外键字段?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,以下是我的模型: class Project < ActiveRecord::Base has_many :gs_collectors, dependent: :destroy class GsCollector < ActiveRecord::Base belongs_to :project has_one :application, dependent: :destroy class Application < ActiveRecord::Base be

以下是我的模型:

class Project < ActiveRecord::Base
  has_many :gs_collectors, dependent: :destroy

class GsCollector < ActiveRecord::Base
  belongs_to :project
  has_one :application, dependent: :destroy

class Application < ActiveRecord::Base
  belongs_to :gs_collector
应用程序模型过去属于Project,所以我只是使用迁移将数据库中的Project\u id更改为gs\u collector\u id。但是,现在我在尝试运行任何测试时(即使在与应用程序模型无关的单元/控制器上)都会出现此错误:

为什么我会犯这个错误

如果我将这一行添加回我的应用程序模型中:

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'project' in 'field list': INSERT INTO `applications` (`project`, ....
belongs_to :project
一切又恢复正常了。但这应该不再必要了


我缺少什么?

这里的问题是我有一个由scaffold生成器创建的fixtures文件。一旦我删除了fixtures文件,一切都很顺利

您确定迁移成功了吗?仔细检查数据库模式是否已实际更改,可能需要重新启动进程,然后再次检查,是否也在测试数据库上运行了db:migrate?是的,迁移成功。我确实运行了db:migrate和db:test:prepare。
belongs_to :project