所以我最近迁移到postgresql,并且我的测试数据库创建一直存在问题。每当我运行rake任务时,它似乎都会破坏我访问我创建的测试数据库的能力。例如,如果我运行以下命令
createdb -Ouser -Eutf8 example_test
我可以完美地运行测试,但是如果我运行rake任务,我将收到以下错误:
.rvm / gems / ruby-1.9.2-p180 @ standard / gems / activerecord-3.1.0 / lib / active_record / connection_adapters / postgresql_adapter.rb:991:in`initialize':FATAL:数据库“example_test”确实不存在(PGError)
如果我像这样创建一个新的测试数据库:
createdb -Ouser -Eutf8 example2_test
一切都会再次运作,直到我必须运行rake任务。有谁知道这个问题会是什么?
答案 0 :(得分:4)
通过查找以下关于该主题的博文来修复该错误:http://katrinaowen.com/2011/01/05/using-postgresql-with-rails-3-cucumber-and-rspec 简而言之,这是一个创建安装了rspec的数据库的错误,查看链接并运行命令以使其在您的系统上运行。
答案 1 :(得分:0)
也许您可以查看log/development.log
以了解数据库被删除的原因?并查看rake任务代码本身,看看它在做什么。
通常,测试数据库是基于rake db:test:prepare
config/database.yml
生成的