ruby-on-rails – 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

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

编辑:显然,我无法架构:加载,但我可以迁移我的所有迁移.这是为什么?

最佳答案
看来这是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直到问题得到解决.

转载注明原文:ruby-on-rails – Heroku架构加载:数据库“postgres”用户的权限被拒绝 - 代码日志