我在Heroku上为Rails堆栈创建了一个新的postgres数据库。该角色似乎不起作用。我不知道是不是以前的角色。
我试图从命令行重置数据库。
heroku run rake db:setup
我希望Heroku可以设置适当的角色来从命令行管理数据库。
答案 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命令。