【问题标题】:running rails spec tests on heroku postgres在heroku postgres上运行rails规范测试
【发布时间】:2013-07-06 12:01:39
【问题描述】:

我正在尝试使用免费的 heroku postgres 实例作为我的测试数据库,但我遇到了一个问题,因为第一步似乎是 minitest 删除数据库,而 heroku postgres 不允许这样做允许清除我认为的数据库。

action@clinio2-13639:~/workspace/clinio(master*)$ rake                                                                                                                                                           
    rake aborted!                                                                                                                                                                                                    
    FATAL:  permission denied for database "postgres"                                                                                                                                                                
    DETAIL:  User does not have CONNECT privilege.
    ......
    Tasks: TOP => db:test:load => db:test:purge                                                                                                                                                                      
    (See full trace by running task with --trace)   

不知道如何克服这个错误。而我的开发环境我没有 root 权限,所以我无法设置一个本地 postgres 实例,这显然是理想的。 任何帮助将不胜感激!

【问题讨论】:

    标签: ruby-on-rails heroku ruby-on-rails-4 heroku-postgres


    【解决方案1】:

    不幸的是,我认为您在开发环境中确实需要 root 权限。 Heroku 非常封闭,所以它不适合测试。以下是一些选项:

    • 寻找或购买便宜的机器用于 Web 开发。如果您熟悉 Linux(或者愿意变得更加熟悉),那么您可以安装一个免费的操作系统,该操作系统非常适合 Rails 开发。我在 Linux 中完成所有 webdev 工作,并向新手推荐 Linux Mint
    • 查看Nitrous.io。我没有使用过它,但它看起来很有趣,而且它似乎有一个免费的浏览器内 Web 开发选项。我不确定它是否会提供您需要的那种环境,并且与该服务没有任何关联。

    【讨论】:

    • 嗨,克里斯,感谢您的输入,但完整的 nitrous.io 是我正在使用的开发环境,遗憾的是没有 root 访问权限。如果我无法在他们的支持下完成它,我想我只需要在我的本地机器上进行开发!不过感谢您的帮助
    • 很高兴知道!没有 root 访问权限有点破坏交易,所以感谢 Nitrous 的提醒。我刚刚给你一个 +1 来回答我的问题。 :-)
    • 嘿,克里斯只是想我应该更新你。刚刚受邀对 nitrous.io 使用的名为 Parts/autoparts (github.com/action-io/autoparts) 的新包管理器进行 beta 测试。看起来不错,你可以在本地机器上安装 postgres、mysql、mongodb 或 redis。似乎解决了我原来的问题!
    • 我刚刚又遇到了这个问题,因为 Nitrous.io 包管理器不包含 Postgres 的 UUID 扩展。我以为我可以将 Heroku Postgres DB 与 Nitrous 一起使用,但现在我无法运行测试。
    猜你喜欢
    • 1970-01-01
    • 2013-07-31
    • 2022-08-19
    • 2018-11-21
    • 2017-10-04
    • 2011-04-10
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多