每隔一段时间我就会将生产数据库转储到服务器上并将其拉入我的开发数据库。我这样做是为了:
rake db:drop
rake db:create
psql -d {database} < {output from pg_dump}
在我的实验后第一次尝试这个程序时,我得到了一个rake错误:
xuserAir:db xuser$ rake db:create
(in /Users/xuser/Work/v/vfw-post)
/Users/xuser/vfw/gnucash/export/vfwexport.gnucash already exists
vfw-post_test already exists
rake aborted!
Gem::LoadError: Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
Gem::LoadError: sqlite3 is not part of the bundle. Add it to Gemfile.
我的应用程序根目录中没有任何引用sqlite3,数据库路径或任何文件名或目录。 rake db
似乎从某个地方获取旧信息,我不知道在哪里。我可能已经将db / development.db设置为与export.db类似的符号,但这也消失了。
同样rake db:drop
删除了app根目录之外的sqlite3数据库。
我在database.yml文件中对所有内容进行了条带化:
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: vfw-post_development
test:
<<: *default
database: vfw-post_test
production:
<<: *default
database: vfw-post_production
username: vfw
# password: <%= ENV['VFW-POST_DATABASE_PASSWORD'] %>
仍然会得到同样的错误。
滞留
Rails 4.2
答案 0 :(得分:0)
我发现了它的来源。
在我的实验中,我设置了两个数据库
DATABASE_URL=sqlite3:/Users/xuser/vfw/gnucash/export/vfwexport.gnucash
我想在部署时提供帮助。我没有删除它,它首先转到DATABASE_URL。