我有一个设置,其中开发数据库是 SQLite3,但对于登台和生产,它是 Postgres。我也有一个 resque 任务设置来基本上异步地为数据库播种,但我一直收到这个错误:
.SQLite3::CantOpenException:无法打开数据库文件:更新“....”
我什至没有使用 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 environment resque:work
有什么想法为什么要尝试使用 SQLite3?仅在运行 rake db:seed RAILS_ENV=staging 时,这确实可以正常工作