为什么在rake db:schema:load期间初始化Factory Girl

时间:2015-08-18 16:19:21

标签: ruby-on-rails rake database-schema factory-bot

我已经从Rails 3.2升级到Rails 4.1.12并且我收到了一条错误消息

rake db:drop db:create db:schema:load RAILS_ENV=test

错误消息是由Factory Girl导致缺少表的SQL错误。但是为什么Factory Girl会在db:schema:load上初始化?

有趣的是,如果我降级到Rails 4.1.11,问题就会消失。

1 个答案:

答案 0 :(得分:7)

FactoryGirl gem的默认行为需要它。这就是它被初始化的原因。

您可以通过将gem定义更改为:

来更改此行为
gem 'factory_girl_rails', :require => false

然后,您必须在spec_helper.rb

中提出要求
require 'factory_girl_rails'