Heroku Schema加载:数据库权限被拒绝" postgres"用户

时间:2015-01-08 18:14:55

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

我正在尝试将我的Rails应用程序部署到Heroku,现在我想加载我的架构。我收到以下错误:

Running `bundle exec rake db:schema:load` attached to terminal... up, run.1533
rake aborted!
PG::ConnectionBad: FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

这很奇怪,因为postgres不是它应该连接的数据库。通过ENV可供应用程序使用的数据库URL具有正确的值,以及显而易见的随机名称d3kwlkwlwjwljetc...

搜索此消息可以让我尝试删除或重置数据库的人,这不是我正在做的事情。

  • 我有0行
  • 我尝试pg:reset,甚至删除并放回数据库。无济于事。
  • 我没有db:drop,只是db:schema:load

我傻眼了。为什么我的应用无法连接?

编辑:显然,我不能schema:load,但我可以迁移我的所有迁移。那是为什么?

1 个答案:

答案 0 :(得分:9)

看来这是Rails本身的一个问题 - 在https://github.com/rails/rails/issues/17945有一个关于它的讨论 - 似乎有一个提交(https://github.com/rails/rails/blob/master/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb#L77)连接到posgres数据库,它不是'在Heroku上允许,所以失败了。

简而言之,暂时使用db:migrate直到问题得到解决。