Ruby on rails 正在Rails+;斯波克

Ruby on rails 正在Rails+;斯波克,ruby-on-rails,ruby,spork,Ruby On Rails,Ruby,Spork,我们在application.rbconfig.active\u record.schema\u format=:sql中选择了无模式选项 在每次spork运行之前,我们都要在数据库中重新加载模式。然而,这是行不通的。正如您所看到的,代码正在加载schema.rb文件。但是它应该将db/structure.sql文件加载到数据库中 ActiveRecord::Schema.verbose = false def reload_database silence_stream(STDOUT)

我们在application.rb
config.active\u record.schema\u format=:sql中选择了无模式选项

在每次spork运行之前,我们都要在数据库中重新加载模式。然而,这是行不通的。正如您所看到的,代码正在加载schema.rb文件。但是它应该将
db/structure.sql
文件加载到数据库中

ActiveRecord::Schema.verbose = false
def reload_database
  silence_stream(STDOUT) do
    load("#{Rails.root}/db/schema.rb")
  end
end
问题是schema.rb已经过时。模型的大多数属性不再位于模式文件中。这就是为什么spork数据库没有所有属性。这会在某些测试中引发“方法未发现”问题。例如:

AdwordsCampaign::visible#test_0003_sets the default state to visible of new campaigns: NoMethodError: undefined method `visible' for #<AdwordsCampaign:0x007fef94c66d18>
AdwordsCampaign::visible#test_0003_将新活动的默认状态设置为visible:NoMethodError:undefined方法“visible”#
我要寻找的是一种让load命令加载SQL模式的方法