在Heroku上将hobby-dev升级为hobby-basic

53

我仍在努力理解Heroku的计划,但我知道我的数据库中将有大约3M行数据,所以我需要从hobby-dev升级到hobby-basic。

然而,我找不到任何关于这种级别升级的文档或帮助。只有从Hobby到Standard的文档。

我需要创建一个新的PG Add-On然后清除我的hobby-dev数据库吗?


1
从业余开发者升级到业余基础版与从业余到标准版完全相同。 - Damien MATHIEU
1
也许是这样,但我找不到描述如何执行此操作的文档。该页面(https://devcenter.heroku.com/articles/upgrading-heroku-postgres-databases)指出`pg:upgrade`“适用于除爱好级别计划之外的所有Heroku Postgres计划。”具体来说,我应该如何从hobby-dev升级到hobby-basic? - brianrhea
1
https://devcenter.heroku.com/articles/upgrading-heroku-postgres-databases#upgrading-with-pg-copy - Damien MATHIEU
1个回答

126

此答案假设您使用Heroku CLI。 命令中的任何“YOUR_APP_NAME”实例都应更改为您正在使用的Heroku应用程序的应用程序名称。

您还需要手头有当前数据库的连接URL(在此处显示为DATABASE_URL)以进行升级。

1. 配置新的数据库:

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

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

HEROKU_POSTGRESQL_PINK_URL

2. 可选地将DB放入维护模式,以确保在复制期间不会添加数据到DB中。

heroku maintenance:on --app YOUR_APP_NAME

3. 将现有的 DB复制到 DB

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

4. 通过输入你的应用程序的实际名称确认数据库转移

YOUR_APP_NAME

5. 推广你的新数据库

heroku pg:promote HEROKU_POSTGRESQL_PINK --app YOUR_APP_NAME

你需要复制在第一步中得到的输出中数据库的基于颜色的名称。不要逐字复制上面的行,否则它将无法工作。

6. 如果你之前将你的数据库置于维护模式,请关闭它。

heroku maintenance:off --app YOUR_APP_NAME


2
新版本要求在为新数据库进行配置时指定应用程序名称。例如:heroku addons:create heroku-postgresql:hobby-basic -a YOUR_APP_NAME - rajeeva9
4
很好的回答。我唯一想要补充的是可选的在结尾删除hobby-dev数据库的命令:heroku addons:destroy heroku-postgresql:hobby-dev -app YOUR_APP_NAME。你需要确认并输入你的应用程序名称。 - Rob MacEachern
谢谢@brianrhea,我们应该删除旧数据库以完全清除吗? - Gregdebrick
2
太棒了,TL;DR,省了我很多时间。我还要补充一下:
  • heroku maintenance:on
  • heroku maintenance:off
  • heroku pg:promote
如果您在帐户中有多个Heroku应用程序,则还需要将--app YOUR_APP_NAME后缀添加到这些命令中。
- bourgeois247
5
这应该是一份Heroku指南,告诉你如何做到这一点。 - Waclock
显示剩余2条评论

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