ローカル環境で開発する際、データベース はテスト用のものを用意するのが一般的らしいです。
今回はLaradockで立ち上げたMySQLとphpMyAdminを使って、テスト用のデータベースを作成しようと思います。
MySQLとphpMyAdminコンテナの立ち上げ
docker-composeでMySQLとphpMyAdminコンテナを立ち上げます。
$ docker-compose up -d nginx mysql phpmyadmin
この時、
WARNING: Host is already in use by another container
というエラーが出た場合は、こちらの記事を参照してください。
データベースの作成
まずはrootでphpMyAdminにログインする。
SQLSTATE[HY000][2054] The server requested authentication method unknown to the client
ログイン時に上記のエラーが出る場合は、こちらの記事を参照してください。
ログイン後、まずはローカル開発環境用のデータベースを作成します。
データベース名を「testdb(任意の名前)」、照合順序を「utf8_general_ci」として「作成」をクリック。
ユーザの作成
開発用データベースを作成したら、次はユーザを作成します。
「ユーザアカウント > ユーザアカウントを追加する」に進み、ユーザ名とパスワードを入力します。
今回は「testdb_user」と「pass」にします。
入力し終わったら、残りは何もチェックせずに下にある「実行」をクリックします。
すると、以下の画面に遷移するので、次は「データベース」をクリックします。
で、「testdb」を選択して「実行」します。
最後に、以下のようにこのユーザに権限を付与して「実行」します。
これで、開発環境用データベースを操作するための新規ユーザの作成が完了しました。
testdb_userでphpMyAdminにログインできるようになってるはずです。
Laravelプロジェクトの.envの編集
ルートディレクトリの中にある.envを以下のように変更します。
...省略... 9 DB_CONNECTION=mysql 10 DB_HOST=mysql 11 DB_PORT=3306 12 DB_DATABASE=testdb # テスト用DB名 13 DB_USERNAME=testdb_user # テスト用DBにログインするユーザ名 14 DB_PASSWORD=pass # テスト用DBにログインするためのパスワード ...省略...
以上です。php artisan migrateなどでtestdbにアクセスできるようなってるはずです。
参考URL
コメント