yamata.programmer.blog

29歳 プログラマになるために通った道に落ちていた情報を発信します!

【MAMP×Laravel】SQL設定方法【超簡単】

今回の記事を読んで欲しい方

  • MAMP環境でLaravelの開発を行っている方
  • SQLの設定を行いたい方

今回はMAMP環境でLaravelの開発を行っている方向けに、SQL設定方法ついて書いていこうと思います。

MAMPでLaravelを使う環境を構築するやり方は以下の記事でまとめています。ご覧下さい。

www.yamata-pgblog.com

 

MAMPで使えるSQLの種類

MAMPでは、SQLiteMySQLPostgreSQLMicrosoft SQL Serverが使えます。

それぞれを、軽く解説します。

SQLite

SQLiteは、オープンソースのデータベース軽量のRDBMS(データベース管理システム)です。

Liteとついている通りなのですが、簡易的なデータベースであり、アプリケーションに組み込む事によって利用します。

大掛かりなシステムのデータベースには利用されることはあまりないようです。

MacWindowsは勿論のこと、iOSの開発でも利用できます。

MySQL

MySQLは、こちらもオープンソースのデータベースで、SQLのシェア2位であり(1位はOracle)、SQLiteと比較して大規模なシステムに利用されます。

WindowsMacでは勿論使えますし、MAMPに標準で導入されているのでMAMPを使う分には設定の必要はないです。

また、データを確実に保護するためのセキュリティ機能が用意されているので、セキュリティが強力です。

PostgreSQL

PostgreSQLは、こちらもオープンソースのデータベースで、SQLのシェア4位です。

使いやすさ、拡張性で言えばMySQLに劣りますが、企業情報システムのデータベースなどとして採用されています。

Microsoft SQL Server

マイクロソフトが開発したデータベースで、SQLServerと省略されることが多いです。

WindowsまたはLinuxで動作させることができます。

複数人のユーザーが同時にアクセスできるうえ、データやユーザーごとにアクセス権限を付与することができます。外部のユーザーにデータを操作されることがなく、セキュリティに優れた仕様です。

Microdsoft社の製品なので、Macでも一応動作しますが他のSQLを使用した方が無難です。

データベースの利用

Laravelで使用するデータベースの情報は、作成したプロジェクト内にあるconfigファイル内のdatabase.phpです。

f:id:yamata214:20210127205236p:plain

f:id:yamata214:20210127205326p:plain

画像で貼りましたが、初見だとなんだこりゃってなっちゃいますよね。

でもよく見ると、sqliteやらmysqlやら、pgsqlやら、先ほど説明したSQLの設定が用意されている事に気づくかと思います。

デフォルトで使うデータベースの設定

画像の、18行目に以下の記述が書かれています。

'default' => env('DB_CONNECTION', 'mysql'),

MySQLがデフォルトのデータベースになっていることがわかります。

この「mysql」になっている箇所を、sqlite、pgsql、sqlsrvを指定すれば、それぞれSQLite、PostgleSQL、SQLServerに設定できるわけです。

MySQL、PostgleSQL、SQLServerを使用する際の注意点

この3つを使うときに、デフォルトでそれぞれ以下の記述になっています。

それぞれ画像の53,73,88行目です。

'password' => env('DB_PASSWORD', ''),

要は、パスワードが設定されていないよってわけです。

なのでご自身でパスワードを設定しておきましょう。

.env 環境変数について

データベースの環境構築はこれで完了ですが、環境変数というものを設定しておかなければなりません。

その.envファイルは、プロジェクトファイルからは見えないので、ターミナルで変更します。

ターミナルを開き、プロジェクトファイルの中に移動します。

cd /Applications/MAMP/htdocs/プロジェクトファイル名

その後、「ls -a」 コマンドを打ち込むと、.envファイルが存在することが確認できます。

その後、「vi .env」 コマンドを打ち込むと、.envファイルを編集することができます。

色々出てくるかと思いますが、今回はデータベースの設定だけしたいので、DBの設定以外は無視してOKです。

 DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

DB_CONNECTION=mysql と書かれていますが、デフォルトではMySQLが設定されていますよというわけです。

MySQLを使う場合は変更不要ですが、SQLite、PostgleSQL、SQLServerを使う際は変更が必要なので、変更方法を以下に記載します。

変更後、「:w」と打ち、変更を保存して終了しましょう。

SQLiteを使う場合の変更点

DB_CONNECTION=sqlite に変更し、その他の設定は削除

PostgleSQLを使う場合の変更点

DB_CONNECTION=pgsql

DB_PORT=5432

他は変更なし

SQLServerを使う場合の変更点

DB_CONNECTION=sqlsrv

DB_PORT=1433

他は変更なしでOK

 

今回のまとめ

いかがでしたでしょうか。

実際MAMP環境でLaravelの開発を行っている場合はMySQLが入っているのでほぼ変更の必要がないです。

実際の開発でもMySQLで事足りることが多いかもしれませんが、SQLite、PostgreSQL、SQLServerを使う場合は変更の必要があるので、参考にして下さい。