我正在尝试将 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,该 URL 具有正确的值和看似随机的长名称d3kwlkwlwjwljetc...
.
搜索此消息会告诉我有人试图删除或重置数据库,但这不是我正在做的事情。
- 我有 0 行
- I tried
pg:reset
,甚至删除并放回数据库。徒劳无功。
- 我没有做
db:drop
, just db:schema:load
我傻眼了。为什么我的应用程序无法连接?
编辑:显然,我不能schema:load
,但我可以将所有迁移迁移过去。这是为什么?
看来这是 Rails 本身的一个问题 - 有一个关于它的讨论https://github.com/rails/rails/issues/17945 https://github.com/rails/rails/issues/17945- 似乎有一个提交(https://github.com/rails/rails/blob/master/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb#L77 https://github.com/rails/rails/blob/master/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb#L77)正在连接到 Heroku 上不允许的 postgres 数据库,因此失败。
简而言之,暂时使用 db:migrate 直到问题解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)