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をWaitしておく
$ 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
メンテナンスモードOFF
$ heroku maintenance:off -a myapp
Disabling maintenance mode for ⬢ myapp... done
これでHeroku無料版Postgresqlから有償版のPostgresqlへ変更できました。
無料版のPostgresqlは1万行まで
有償版のPostgresqlは1000万行まで保存可能です。