Heroku PostgreSQL用户和数据库创建

3

目前我的Ruby on Rails程序在Linux Ubuntu开发环境上运行良好,现在我想将其实时运行在我的网站上,并在Heroku上托管它。

问题是我不知道如何在Heroku上创建用户和数据库。我已尝试使用以下命令:

heroku run rake db:create

我遇到了一个错误:

permission denied for database - user does nothave connect privilage

我也尝试了这个命令。
heroku run su - postgres

它提示我需要使用终端,但我不知道该如何操作。

这是我的database.yml文件。

default: &default
  adapter:  postgresql
  host:     localhost

development:
  <<: *default
  database: app_development

test:
   <<: *default
   database: app_test

production:
  <<: *default
  database: app_production

如何设置我的数据库并与Heroku PostgreSQL数据库建立正确的连接?

我还做了这个

heroku pg:info 

这使我获得了这个

shrouded-reaches-3063 has no heroku-postgresql databases.

我也尝试了这个方法。

heroku addons | grep POSTGRES

但是没有打印任何东西。
heroku addons:create heroku-postgresql:hobby-dev 
!    `addons:create` is not a heroku command.
!    See `heroku help` for a list of available commands.

同时,还有以下内容

heroku pg:wait

没有显示任何东西……这真的是个大问题T_T 在这里需要一些重大的帮助,非常感谢任何帮助。

2个回答

6

您是否已经准备好了数据库? heroku addons 显示了什么? 您可以按照这里文档的说明创建一个插件,使用heroku addons:create heroku-postgresql:hobby-dev


我强烈建议您从评论中删除密码。此外,您想要的完整命令是 heroku addons:create heroku-postgresql:hobby-dev - 有关完整信息,请参见此处的文章:https://devcenter.heroku.com/articles/heroku-postgresql#provisioning-the-add-on - elithrar
这是它返回的内容,我一下午都在尝试让它工作,但是无济于事 T_T。 - user1868185
在开始时,我指定了它将使用PG,并且在本地运行得很好,但是在Heroku上却不起作用,甚至不让我创建数据库T_T - user1868185
2
看起来文档已经过时了:尝试使用 heroku addons:add heroku-postgresql:hobby-dev 命令 - 注意使用 "add" 而不是 "create"。您也可以通过 Web 仪表板添加数据库,并在使用 Heroku Toolbelt 时使用 Tab 键补全以查看可用命令。 - elithrar
文档是正确的。addons:create 是正确的操作。如果 addons:create 没有起作用,那么我怀疑您没有安装最新版本的 Heroku Toolbelt,或者由于 Heroku gem 或其他原因导致了一些奇怪的本地冲突。 - Jon Mountjoy
显示剩余2条评论

1

!!!不在文档中!!!

(注:此处为提醒,非文档内容)
 heroku addons:create heroku-postgresql:hobby-dev --version=12 --app "APPNAME" --name "APPNAME-database"

--app:指定您想要添加数据库的Heroku应用程序。如果您有多个Heroku应用程序,这非常有用。

--name:您想为数据库取的名称。我喜欢使用我的应用程序名称,并在其后缀中添加“database”作为一个好的约定。比随机生成的名称更好。

APPNAME:任何您的应用程序名称的占位符。

在heroku.com关于插件的文档页面或Postgres插件的文档页面上都没有提到这一点。我认为我是通过根据创建应用程序的文档猜测而来的。但我不记得了。这是我五年前的笔记。然而,我刚刚尝试过它,截至2022.05.14仍然有效


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接