在Heroku上将hobby-dev升级为业余爱好

bri*_*hea 14 heroku heroku-postgres

我仍然围绕着Heroku的计划.但我知道我将在db中拥有大约3M行,所以我需要从hobby-dev升级到hobby-basic.

但是,我找不到任何有关此级别升级的文档或帮助.只有从爱好到标准的文档.

我是否需要创建一个新的PG Add-On然后消灭我的hobby-dev数据库?

bri*_*hea 40

这个答案假定您正在使用Heroku CLI.命令中的任何"YOUR_APP_NAME"实例都应替换为您正在使用的Heroku应用程序的应用程序名称.

1.提供一个新hobby-basic数据库:

heroku addons:create heroku-postgresql:hobby-basic -a YOUR_APP_NAME

这将输出包含颜色的新数据库的名称.您将需要稍后参考.例如:

HEROKU_POSTGRESQL_PINK_URL

2.(可选)将db置于维护模式,以确保在复制数据库时不会向数据库添加任何数据.

heroku maintenance:on --app YOUR_APP_NAME

3.将现有hobby-dev数据库复制到hobby-basic数据库

heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_PINK --app YOUR_APP_NAME

Heroku现在将打印以下消息.

heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_PINK --app YOUR_APP_NAME

!    WARNING: Destructive Action
!    Transfering data from DATABASE_URL to HEROKU_POSTGRESQL_PINK
!    This command will affect the app: YOUR_APP_NAME
!    To proceed, type "YOUR_APP_NAME" or re-run this command with --confirm YOUR_APP_NAME

YOUR_APP_NAME
Run Code Online (Sandbox Code Playgroud)

4.通过键入应用程序的实际名称来确认数据库传输

YOUR_APP_NAME

5.推广您的新数据库

heroku pg:promote HEROKU_POSTGRESQL_PINK --app YOUR_APP_NAME

您提升的数据库的基于颜色的名称应该从您在步骤1中获得的输出中复制.不要将该行复制并粘贴到单词之上,它将不起作用.

6.如果您之前将数据库置于维护模式,请将其关闭.

heroku maintenance:off --app YOUR_APP_NAME

  • 新版本需要在配置新数据库时指定应用程序名称.例如:heroku addons:创建heroku-postgresql:hobby-basic -a YOUR_APP_NAME (2认同)
  • 很好的答案。我唯一要添加的是(可选)最后删除 hobby-dev 数据库:`heroku addons:destroy heroku-postgresql:hobby-dev -app YOUR_APP_NAME`。您需要通过输入应用名称进行确认。 (2认同)
  • 太棒了 TL;DR,节省了我很多时间。我还要添加 - `heroku Maintenance:on` - `heroku Maintenance:off` - `heroku pg:promote` 如果您有的话,您还想在这些命令中添加 `--app YOUR_APP_NAME` 后缀您的帐户中存在多个 Heroku 应用程序 (2认同)
  • 从字面上看,这应该是关于如何执行此操作的 Heroku 指南。 (2认同)