ruby-on-rails - 无法在 Heroku 托管的 Postgres 数据库上运行 Ruby on Rails 测试

标签 ruby-on-rails postgresql heroku nitrousio

我目前正在评估 Nitrous.io 并喜欢我目前所看到的。我目前也有一些数据库用于在 Heroku 托管的 Postgresql 服务上运行进行测试和开发。不过,我在运行测试时遇到了一些问题,我希望这里的某个地方可能有解决方案。

当我运行 rake db:test:prepare 时出现错误:

 FATAL:  permission denied for database "postgres"                                                                                                                  
 DETAIL:  User does not have CONNECT privilege.   

从我在其他地方读到的内容来看,这是试图删除数据库,但 Heroku 的托管数据库不允许这样做。有谁知道如何在 Heroku 的 Postgresql 上运行 Rails 测试?

最佳答案

Nitrous.IO 发布了一个包管理器,它允许您在 Nitrous 盒子中安装 Postgres。如果需要,这可以用于您的测试数据库和开发数据库:

https://github.com/action-io/autoparts

这还要求您使用的是运行“bran”或更高版本的 Nitrous 盒子(参见 README)。如果您在版本“arya”上运行,您可能需要终止/创建一个新框。

要使用 autoparts,请运行 parts search 以查看所有可用的包。

要在 Nitrous box 中安装 postgresql,请运行以下命令:

parts install postgresql

确保您的config/database.yml 文件为您希望连接的每个数据库显式设置host: localhost,否则pg 适配器将无法找到它需要连接到的套接字。

关于ruby-on-rails - 无法在 Heroku 托管的 Postgres 数据库上运行 Ruby on Rails 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17959932/

相关文章:

django - 无法连接到redis ://localhost:6379/0: Error 111 connecting to localhost:6379. 连接被拒绝

ruby-on-rails - 在生产中使用 Sunspot 时设置独立 solr 服务器的原因?

php - 使用 Passenger 与 PHP 应用程序一起运行 Rails 应用程序

database - PostgreSQL 只插入数据库中的空列

postgresql - 如何使用CKAN API按多个标签搜索数据集?

sql - 如何在 PostgreSQL 中创建只读用户?

ruby - -bash :/usr/local/bin/heroku:/usr/local/bin/ruby: bad interpreter: No such file or directory

ruby-on-rails - rails 在启动时记录错误

ruby-on-rails - 用于搜索关键路径的元程序 Squeel

mysql - 新应用程序——PostgreSQL 是否为我的用例提供了优于 MySQL 的优势?