PHPバージョン:7.1.14
Laravelバージョン:5.7.9
今回はLaravelのデータベース設定ファイルについてです!
データベースはMySQLを使います!
こちらを参考にローカル環境(Mac)にインストールしました!
Mac へ MySQL を Homebrew でインストールする手順 - Qiita
database.phpファイルで設定
データベースの設定は、
config>database.phpファイルにて行います!
<?php return [ 'default' => env('DB_CONNECTION', 'mysql'), 'connections' => [ 'sqlite' => [ //〜省略〜 ], 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], 'pgsql' => [ //〜省略〜 ], 'sqlsrv' => [ //〜省略〜 ], ], 'migrations' => 'migrations', 'redis' => [ //〜省略〜 ], ];
config>database.php
データベースに関する情報の配列をreturnしているだけのphpファイルですね。
connections配列にはsqlite(SQLite), mysql(MySQL), pgsql(PostgreSQL), sqlsrv(Microsoft SQL Server)に関する設定が記述されています。
今回はMySQLを使うので、それ以外のデータベース設定については省略。
'default' => env('DB_CONNECTION', 'mysql')
'default'変数は使用するデータベースを指定します。
envメソッドは.env ファイルに設定されている環境変数を呼び出します。
第1引数で環境変数を指定して呼び出し、
第2引数はデフォルトの値です。(.envファイルが無い、環境変数が無いなど)
続いて、connectionsのmysql配列の中で設定されている項目について見ていきましょう!
全ての項目にenvメソッドが使われています。
driver:mysqlやsqliteなど、SQLの種類を指定。
host:データベースの置いてあるサーバーのIPアドレスを指定。
port:データベースの置いてあるサーバーのポートを指定。MySQLのポート番号は3306と定められている。
database:MySQLで作成したデータベース名。
username:MySQLに登録したユーザー名。
password:MySQLでusernameと一緒に設定したパスワード。
unix_socket:UNIXドメインソケット。mysql.sockファイルパスを指定。(空欄でOK)
charset:文字コードを指定。デフォルトはutf8mb4。
collation:MySQLの照合順序。デフォルトはutf8mb4_unicode_ci。
prefix:MySQLのテーブル名先頭に接頭語をつける。1つのDBを複数アプリで使用する時などに活用。
strict:STRICTモード(不適切なデータ値を許可しないモード)にするか。デフォルト値はtrue。
engine:ストレージエンジンを指定。デフォルト値はnull。nullの場合はMySQLのデフォルト値を採用。
host、port、database、username、password辺りを
自分のMySQL環境に合わせて設定します。
(他はデフォルトでOK)
.envファイル
続いて.envファイルを設定します!
database.phpにあったenvメソッド第2引数はあくまでデフォルト値、
.envファイルが無かったり環境変数が無い時の保険で、
優先されるのは.envファイルの値です。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret ||> <span style="color: #0000cc"><b>.env</b></span> データベース関連はこれら変数です。 MySQLを使う場合に変更する必要があるのは以下3つの変数です。 <b>DB_DATABASE:</b>MySQLで作成したデータベース名 <b>DB_USERNAME:</b>MySQLに登録したユーザー名 <b>DB_PASSWORD:</b>がユーザー名に対するパスワード 以上、Laravelにおけるデータベース設定ファイルの設定でした! データベースの設定が完了したので、 次回はLaravelの機能を使ってデータベースを構築していきます!