しぐれがき

これまで挑戦したことの備忘録です

【投稿アプリ自作(3)】データベースに接続(Laravel)

f:id:shiguregaki:20170522215254j:plain
Webアプリを自作するためにPHPフレームワークのLaravelを導入することに決めました。
PHP初心者かつLaravel初心者ですが、自分なりにスキルを得るためにLaravelを用いた記事投稿アプリを自作しました。その過程を備忘録としてまとめます。
最終的にはブラウザを利用して記事投稿画面の表示、ユーザごとの記事投稿数のグラフ化を目指したいと思います。
本記事は連載【投稿アプリ自作】の第三回目で、データベースの接続およびマイグレーションによる新規テーブル作成方法をまとめます。
※:Laravelは5.3からファイル構成が大幅に変わりました。本記事ではLaravel5.3以降を使って説明したいと思います。
※2:データベースはXAMPPに入っていたMySQLを使うことにします。事前にデータベースアカウントを登録しておいてください。

目次

ゴール

本記事では、以下の2つを目指します。
・データベースの設定をし、特定のデータベースに接続する
マイグレーションを実行することで、下の画像の様に新規テーブルを作成する

f:id:shiguregaki:20170522214945j:plain

必要なもの

必要なもの 価格(円)
1 PC ピンキリ
備考 インターネット接続可能なこと
2 XAMPP 無料
備考 持っていない場合は、こちらを参照→XAMPPのインストール方法
3 Composer 無料
備考 持っていない場合は、こちらを参照→Composerのインストール方法
4 Laravelフレームワーク 無料
備考 インストールしていない場合は、こちらを参照→Laravelのインストール方法
5 MySQLのデータベースアカウント 無料
備考 持っていない場合は、こちらを参照→phpMyAdminでデータベースとユーザを新規登録する




事前準備

XAMPPでApacheMySQLを起動!

データベースの設定をするために、ApacheMySQLを起動します。

f:id:shiguregaki:20170522215117j:plain



データベースの準備

データベースにアクセスるため、MySQLのデータベースおよびユーザを新規作成します。
以下にphpMyAdminを使ってMySQLのデータベース、ユーザを新規作成する方法をまとめました。
ご参考にしてください。

shiguregaki.hatenablog.com





Laravelソースファイルの変更

変更や新規作成するLaravelファイル一覧

Laravelのプロジェクトファイル配下にあるファイルで本記事の中で変更、新規作成するファイルについてまとめました。

ファイル名 対応 備考
1 .env 変更




.envの変更

.envファイルはアクセス先URLやデータベースの設定値など環境ごとに変わる情報をまとめたファイルになります。
事前準備で新規作成したデータベース名、データベースユーザ名、パスワードを変更します。
変更箇所を以下にまとめました。太字部分はお使いの環境に合わせて変更してください。

修正前 修正後
1 9 DB_HOST=127.0.0.1 DB_HOST=localhost
2 11 DB_DATABASE=homestead DB_DATABASE=<事前準備で作成したデータベース名>
3 12 DB_USERNAME=homestead DB_USERNAME=<事前準備で作成したデータベースユーザ名>
4 13 DB_PASSWORD=secret DB_PASSWORD=<事前準備で作成したデータベースパスワード>




マイグレーションの実行

マイグレーションとはデータベースに保存されているデータを保持した状態で、テーブルの作成やカラムの変更などのデータベースの操作を行うための機能です。
Laravelにはデフォルトで以下の2つのマイグレーションファイルがあります。


デフォルトであるマイグレーションファイル
database/migrations/xxxx_xx_xx_xxxxx_create_users_table.php
database/migrations/xxxx_xx_xx_xxxxx_create_password_resets_table.php
※xxxは環境依存



これら2つのマイグレーションファイルを実行して、データベースが作成できるかを確認していきます。
マイグレーションを実行するには以下のコマンドをコマンドプロンプト上で実行します。


 マイグレーション実行コマンド 
>php artisan migrate


f:id:shiguregaki:20170522215231j:plain





データベースの確認

データベースが正しく作成されているか確認するため、phpMyAdminにアクセスします。
ブラウザでphpMyAdmin(以下のURL)にアクセスしてください。

phpMyAdminのアクセス先http://localhost/phpmyadmin

上の.envファイルで指定したデータベースに以下の3つのテーブルが新規で作成されているはずです。
・migrations
・password_resets
・users

f:id:shiguregaki:20170522215240j:plain

migrationsテーブルはマイグレーションの実行された履歴が格納されています。
password_resetsテーブル、usersテーブルは前述したデフォルトであったマイグレーションファイルのxxx_password_resets_table.php、xxx_create_users_table.phpの内容に基づいて作成されているテーブルです。

これでマイグレーションを実行して新規のテーブルが作成できることを確認できました。




まとめ

今回はLaravelを使って以下の2つのことを確認しました。
・データベースの設定をし、特定のデータベースに接続する
マイグレーションを実行することで、下の画像の様に新規テーブルを作成する

今回はデフォルトでるマイグレーションファイルを使って新規テーブルを作成しましたが、実際はデータベースを設計してマイグレーションファイルを作成します。
次回以降でこのマイグレーションファイルの作成方法もまとめていきます。



次回記事

次回はダミーデータベースを設計し、その設計に基づいてマイグレーションファイルの作成、実行する方法をまとめたいと思います。

http://shiguregaki.hatenablog.com/entry/p42shiguregaki.hatenablog.com



前回記事

shiguregaki.hatenablog.com



以上!