我有一个设置,其中开发数据库是SQLite3但是对于暂存和生产它是Postgres。我还有一个resque任务设置基本上异步种子数据库,但我一直收到这个错误:
.SQLite3 :: CantOpenException:无法打开数据库文件:UPDATE" ...."
我甚至没有使用sqlite 3,但由于某些原因,resque继续使用该数据库。
在resque网站上有两种方法可以解决这个问题,但都没有效果。
将此添加到resque任务
`
namespace :resque do
puts "Loading Rails environment for Resque"
task :setup => :environment do
ActiveRecord::Base.descendants.each { |klass| klass.columns }
end
end
或使用此行开始resque: QUEUE = file_serve rake环境resque:work
为什么这会尝试使用SQLite3?只运行rake db:seed RAILS_ENV = staging
时,这确实可以正常工作