学习者即使是初学者,也可以按以下步骤升级Rails+Heroku的PostgreSQL并成功切换到付费计划

postgresqlHeroku Data.jpg

为了将Heroku的数据库迁移到付费版,我准备了以下操作备忘录。

我将应用程序的名称设为myapp。
※根据需要自行更改为自己的应用程序名称。

升级Heroku数据库的过程

确认Heroku的数据库位置

$ heroku pg:info -a myapp

将Heroku切换到维护模式。

$ heroku maintenance:on -a myapp

添加付费版的HerokuPostgresql

$ heroku addons:create heroku-postgresql:hobby-basic -a myapp
Creating heroku-postgresql:hobby-basic on ⬢ myapp... $9/month
Database has been created and is available
 ! This database is empty. If upgrading, you can transfer
 ! data from another database with pg:copy
Created postgresql-fluffy-12345 as HEROKU_POSTGRESQL_JADE_URL
Use heroku addons:docs heroku-postgresql to view documentation

您可以在Heroku的管理界面上轻松添加。
将显示每月收取9美元的费用。

为了复制数据,先等待Postres。

$ heroku pg:wait

把旧数据库复制到新数据库。

$ heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_JADE_URL -a myapp
 ▸    WARNING: Destructive action
 ▸    This command will remove all data from JADE
 ▸    Data from DATABASE will then be transferred to JADE
 ▸    To proceed, type myapp or re-run this command with --confirm myapp

> myapp
# ここで続行するならアプリ名を入れろと言われるので 間違わずアプリ名を入れる

Starting copy of DATABASE to JADE... done
Copying... done

将新的数据库更改为默认连接

$ heroku pg:promote HEROKU_POSTGRESQL_JADE_URL -a myapp
Ensuring an alternate alias for existing DATABASE_URL... HEROKU_POSTGRESQL_BLUE_URL
Promoting postgresql-fluffy-12345 to DATABASE_URL on ⬢ myapp... done

确认Heroku数据库的位置。

$ heroku pg:info -a myapp
=== DATABASE_URL, HEROKU_POSTGRESQL_JADE_URL
Plan:                  Hobby-basic
Status:                Available
Connections:           0/20
PG Version:            11.2
Created:               2019-04-23 02:39 UTC
Data Size:             10.2 MB
Tables:                6
Rows:                  5445/10000000 (In compliance)
Fork/Follow:           Unsupported
Rollback:              Unsupported
Continuous Protection: Off
Add-on:                postgresql-fluffy-12345

=== HEROKU_POSTGRESQL_BLUE_URL
Plan:                  Hobby-dev
Status:                Available
Connections:           0/20
PG Version:            11.2
Created:               2019-04-23 01:40 UTC
Data Size:             10.3 MB
Tables:                6
Rows:                  5445/10000 (In compliance)
Fork/Follow:           Unsupported
Rollback:              Unsupported
Continuous Protection: Off
Add-on:                postgresql-defined-54321

关闭维护模式

$ heroku maintenance:off -a myapp
Disabling maintenance mode for ⬢ myapp... done

现在可以将Heroku的免费版Postgresql更改为付费版Postgresql了。

免费版本的PostgreSQL可以保存最多1万行数据。
付费版本的PostgreSQL可以保存高达1000万行数据。

广告
将在 10 秒后关闭
bannerAds