heroku / データベースのアップグレード

herokuのデータベースが10,000行を超えてしまったので、$9/month の有料プランにしました。Hobby Basic は制限が10,000,000行なので、当分は大丈夫でしょう。
  

アドオン追加

データベースのアップグレードは、単純にプランを変更するというのではなく、新しいDBのアドオンを追加して、そのDBに引っ越すという感じです。なので、新しくアドオンを追加します。

1
$ heroku addons:add heroku-postgresql:hobby-basic

  

データ移行

新しいデータベースが作成されるので、古いデータベースからデータを移動させます。といってもherokuコマンドが面倒をみてくれます。HEROKU_POSTGRESQL_COLORが新しいDBだとすると下記のように。
現在のアプリのDATABASE_URLからHEROKU_POSTGRESQL_COLOR_URLへ、データを移行してくれます。

1
heroku pgbackups:transfer HEROKU_POSTGRESQL_COLOR_URL

  

デフォルトのDBを変更

新しい方のDBをプライマリーDBに設定。

1
heroku pg:promote HEROKU_POSTGRESQL_COLOR

  

アプリのコード変更

最後に、config/database.ymlを変更すればOK。ポートが変わってるかもしれないから、気をつけてね、ということです。

ruby
1
2
3
4
5
6
7
8
9
10
production:
  adapter: postgresql
  encoding: utf8
  port: 5432
  pool: 25
  database: xxx
  password: xxx
  username: xxx

  
参考:Using PG Backups to Upgrade Heroku Postgres Databases

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた