LoginSignup
1
1

More than 3 years have passed since last update.

[学習用]初心者でもRails+HerokuのPostgresqlをアップグレードして有償プランへ失敗しないで変更する手順

Last updated at Posted at 2019-04-23

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を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万行まで保存可能です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1