我仍在努力理解Heroku的计划,但我知道我的数据库中将有大约3M行数据,所以我需要从hobby-dev升级到hobby-basic。
然而,我找不到任何关于这种级别升级的文档或帮助。只有从Hobby到Standard的文档。
我需要创建一个新的PG Add-On然后清除我的hobby-dev数据库吗?
我仍在努力理解Heroku的计划,但我知道我的数据库中将有大约3M行数据,所以我需要从hobby-dev升级到hobby-basic。
然而,我找不到任何关于这种级别升级的文档或帮助。只有从Hobby到Standard的文档。
我需要创建一个新的PG Add-On然后清除我的hobby-dev数据库吗?
此答案假设您使用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
hobby-dev
数据库的命令:heroku addons:destroy heroku-postgresql:hobby-dev -app YOUR_APP_NAME
。你需要确认并输入你的应用程序名称。 - Rob MacEachernheroku maintenance:on
heroku maintenance:off
heroku pg:promote
--app YOUR_APP_NAME
后缀添加到这些命令中。 - bourgeois247