世界を旅して暮らしたい放浪エンジニアブログ

HerokuでMySQLを利用する方法

今回は、HerokuのClearDBアドオンを利用してMySQLをデータベースとして利用する方法をまとめていきます。

[ 目次 ]

はじめに

こんにちは、香港に住んでいるWEBデベロッパーのなかむ(@nakanakamu0828)です。

今回は、HerokuにデプロイしたLaravelアプリのデータベースにMySQLを利用する方法をまとめます。
以前投稿した「HerokuにLaravelをデプロイする方法」では、PostgreSQLを利用しましたが、今回はMySQLになります。

HerokuにLaravelをデプロイする方法

※ Herokuについては過去の記事をご確認ください。

【前提】

  • Laravelアプリが既にHerokuにデプロイできる状態になっていること

事前準備

MySQLを利用するにはクレジットカードの登録が必要になります。
HerokuのDashboardから"Account Setting" → "Billing"にてクレジットカードを設定できます。

※ 超過しない限り請求されることはありません。

右上のメニューから"Account Setting"を選択します。
Heroku Account Menu

"Account Setting"では、"Account", "Applications", "Billing"というタブメニューが表示されるので、Billingを選択します。
Heroku Billing

ClearDBからMySQLを利用する

ClearDBとは

Herokuでは、ClearDBというクラウドサービスのMySQLを利用することができます。ClearDBは、DBaaS で、バックアップやメンテナンスといった面倒な管理作業はプラットフォームが行ってくれます。"ignite" と呼ばれるデータ容量5MBの最小構成であれば無料で使えますので、こちらを利用します。

Heroku ClearDB MySQL

詳細はこちら

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を利用してテストを行うのもいいかもしれませんね!

前のページ

Profile

なかむ🇭🇰Webデベロッパー

なかむ🇭🇰Webデベロッパー

香港在住4年目になるWEBエンジニアのなかむです。 現在は、LaravelやRailsを利用したWEB開発を中心にエンジニアをしています。 顧客は全て日本の企業になります。リモート開発にて各企業様の支援を行なっております

プロフィール詳細はこちら

Latest Posts