Heroku PG :: ConnectionBad:严重:角色“ xxxxxxxxxxx”不允许登录

时间:2019-05-02 00:43:10

标签: ruby-on-rails postgresql heroku

我在Heroku上为Rails堆栈创建了一个新的postgres数据库。该角色似乎不起作用。我不知道是不是以前的角色。

我试图从命令行重置数据库。

heroku run rake db:setup

我希望Heroku可以设置适当的角色来从命令行管理数据库。

2 个答案:

答案 0 :(得分:1)

rake db:setup tries to create your database,然后加载架构并为其设定种子。您can't create a database this way using Heroku Postgres

  

您不能在Heroku Postgres上创建或修改数据库和角色。下面的SQL仅供参考。

根据您的需要,您可以运行heroku pg:reset DATABASE(其中DATABASE是现有Postgres数据库的名称)来删除并重新创建该数据库,后跟heroku run db:schema:load和{{1} }。 (您可能已经有一个数据库。)

如果不合适,可以provision a Heroku Postgres database,然后加载您的架构并将其作为种子。但是请记住,您可能已经有一个数据库:

  

在供应Heroku Postgres之前,请确认尚未为您的应用程序供应 (Heroku自动为包含某些库(例如heroku run db:seed Ruby gem)的应用程序供应Postgres。

     

使用pg命令来确定您的应用是否已配置了Heroku Postgres

答案 1 :(得分:0)

检查迁移是否正常运行。我遇到了这个问题,因为我的Rails迁移已中断。然后尝试通过Github / Heroku CI管道推送更改,或者设置工作流程。不要像克里斯说的那样直接使用该heroku命令。