HerokuでMySQLを利用する方法
今回は、HerokuのClearDBアドオンを利用してMySQLをデータベースとして利用する方法をまとめていきます。
[ 目次 ]
はじめに
こんにちは、香港に住んでいるWEBデベロッパーのなかむ(@nakanakamu0828)です。
今回は、HerokuにデプロイしたLaravelアプリのデータベースにMySQLを利用する方法をまとめます。
以前投稿した「HerokuにLaravelをデプロイする方法」では、PostgreSQLを利用しましたが、今回はMySQLになります。
※ Herokuについては過去の記事をご確認ください。
【前提】
- Laravelアプリが既にHerokuにデプロイできる状態になっていること
事前準備
MySQLを利用するにはクレジットカードの登録が必要になります。
HerokuのDashboardから"Account Setting" → "Billing"にてクレジットカードを設定できます。
※ 超過しない限り請求されることはありません。
右上のメニューから"Account Setting"を選択します。
"Account Setting"では、"Account", "Applications", "Billing"というタブメニューが表示されるので、Billingを選択します。
ClearDBからMySQLを利用する
ClearDBとは
Herokuでは、ClearDBというクラウドサービスのMySQLを利用することができます。ClearDBは、DBaaS で、バックアップやメンテナンスといった面倒な管理作業はプラットフォームが行ってくれます。"ignite" と呼ばれるデータ容量5MBの最小構成であれば無料で使えますので、こちらを利用します。
ClearDBのアドオンを追加
以下のコマンドでClearDBを追加します。
$ heroku addons:create cleardb:ignite
Laravelの環境編集にデータベース設定を追加
$ # 追加したデータベースの設定を確認
$ heroku config:get CLEARDB_DATABASE_URL
mysql://[ユーザ名]:[パスワード]@[ホスト]/[DB名]?reconnect=true
$ # 環境変数に追加
$ heroku config:set \
DB_CONNECTION=mysql \
DB_HOST=<ホスト> \
DB_DATABASE=<DB名> \
DB_USERNAME=<ユーザ名> \
DB_PASSWORD=<パスワード>
データベースの初期設定(マイグレーション&シーディング)
$ heroku run php artisan migrate --seed
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
>yes
エラーなくマイグレーションが完了したらDBの設定も完了です。
ブラウザにてLaravelアプリが表示できることを確認しましょう。
最後に
HerokuでMySQLを利用する方法でした。開発サーバーが用意できない場合、Herokuを利用してテストを行うのもいいかもしれませんね!