学习者即使是初学者,也可以按以下步骤升级Rails+Heroku的PostgreSQL并成功切换到付费计划
为了将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万行数据。