我目前正在评估Nitrous.io,并且喜欢到目前为止我所看到的内容。我目前在Heroku的托管Postgresql服务上运行了一些用于测试和开发的数据库。我在运行测试时遇到了一些问题,我希望这里的某个地方可能有解决方案。
当我运行rake db:test:prepare我收到错误:
FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
从我在其他地方读到的,那是尝试DROP数据库,但Heroku的托管数据库不允许这样做。有没有人知道如何在Heroku的Postgresql上运行Rails测试?
答案 0 :(得分:3)
Nitrous.IO发布了一个软件包管理器,允许您在Nitrous框中安装Postgres。如果需要,这可以用于您的测试数据库以及您的开发数据库:
https://github.com/action-io/autoparts
这还要求你使用的是Nitrous盒子正在运行版本“bran”或更高版本(见README)。如果您在“arya”版本上运行,则可能需要终止/创建一个新框。
要使用汽车零部件,请运行parts search
以查看所有可用的软件包。
要在Nitrous框中安装postgresql,请运行以下命令:
部分安装postgresql
确保您的config/database.yml
文件为您要连接的每个数据库显式设置host: localhost
,否则pg适配器将无法找到需要连接的套接字。
答案 1 :(得分:0)
根据Heroku文档,您需要在rake任务中使用“heroku pg:reset”。