bunty's blog

ググったこととか勉強したことのメモ

Heroku の jawsdb で MySQL8.0 を使う方法

Heroku のアドオンである jawsdb を使用する際に MySQL8.0 を使う方法についての説明です。
現在はデフォルトでは MySQL5.7 がデフォルトで使用されるようです。

バージョンを指定する方法

ドキュメントに記載されているように、下記のコマンドを実行することで、MySQL のバージョンを指定することができます。

heroku addons:create jawsdb:PLANNAME -a HEROKUAPPNAME --version=8.0

devcenter.heroku.com

HEROKUAPPNAME は他のコマンドと同様に heroku apps コマンドで表示される登録した名前ですね。 少しわかりにくいと思ったのですが、 PLANNAME は画面からプランを選ぶときに表示される名前のことです。

planname

無料のプランを使用する場合の PLANNAME は kitefin となるので、実際に実行するコマンドは下記のようになります。

heroku addons:create jawsdb:kitefin -a HEROKUAPPNAME --version=8.0

上記コマンドでアドオンを追加後に、MySQL でバージョンを確認すると、バージョン8になっていました!

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.15    |
+-----------+
1 row in set (0.16 sec)

アドオンの表示が変わる

Heroku のコンソールの Resources > Add-ons の欄を確認すると、Attached as JAWSDB_JADE と表示されていました。どうやら JADE の部分は毎回変わるようです。
特に影響はないかなと思うのですが、念の為補足として記載しておきました。

addons

app.jsonの書き方

review app を利用する場合は、app.json にアドオンの一覧を記載していると思います。 そのまま jawsdb を指定すると、デフォルトの MySQL5.7 が使用されてしまうため、下記のように指定することで、review appでも8系を使用することができます。

  "addons": [
    {
      "plan": "jawsdb:kitefin",
      "as": "JAWSDB",
      "options": {
        "version": "8.0"
      }
    },
  ],