【Heroku】JawsDBのアップグレード。Multi TenantからSingle Tenantに変更

HerokuのJawsDBのプランを「Leopard Shared」から「Whitetip」に変更したい。

ただ今回のようにMulti Tenant(Leopard Sharedなど)からSingle Tenant(Whitetipなど)に変更する場合に、Add-onsのページからプラン変更ができなかったのでその方法をメモしていきます。

JawsDBをアップグレードする方法

HerokuのAdd-onsからJawsDBのプランを変更することができない。

Multi TenantからSingle Tenantに変更したい場合は、新しく別のJawsDBをインストールしないといけないようです。(Add-onsにJawsDBが2つある状態になる)

▼普通にプラン変更しようとすると表示されるエラー

Item could not be updated:
An error was encountered when contacting the add-on partner to change to jawsdb:whitetip: Cannot automatically move between Shared and single-tenant plans. See documentation. https://devcenter.heroku.com/articles/jawsdb#migrating-between-plans

「古いJawsDB」から「新しいJawsDB」へデータ移行する

DBを新しく作ったので、まだ新しい方のDBは何も入っていない状態になっています。なので今まで使っていた古いDBから新しいDBにデータ移行する必要があります。

そのためには⑴古いDBからsqlファイルをエクスポートして、⑵新しいDBへそのsqlファイルをインポートする、という手順になります。

Herokuの環境変数を新しいDBに切り替える

SettingsのConfig Varsに記載しているデータベースの環境変数(DB_HOST、DB_PASSWORDなど)を書き換えましょう。

まとめ

HerokuのJawsDBの中でも安いプランを使ってAPIを作っていたのですが、すぐにDBのアクセス回数上限に達して500エラーになることが頻発していたので遂にアップグレードに踏み切りました。

「新しくDBを作ってデータ移行する」というのは少し面倒ではありますが、特に難しい作業はなかったので意外とすんなりアップグレードすることができました。これでやっとAPIがたくさん使える!!

コメントを残す

*