データベース接続の設定
そもそもデータベースとは何かをやさしく説明し、Laravelで一番手軽なSQLiteを使って接続する方法を学びます。
ここからは、アプリの心臓部とも言える データベース を扱います。まずは「データベースとは何か」から、まったく知らない前提でやさしく説明します。
MVC の M(モデル=データの担当) が、これから扱うデータベースとやりとりします。
データベースとは
**データベースとは、データを整理して保存しておく「保管庫」**です。たとえば会員制サイトなら、
- どんなユーザーが登録しているか
- 誰がどんな投稿をしたか
といった情報を、アプリを閉じても消えないように保存しておく必要があります。これを担うのがデータベースです。
データは 表(テーブル) の形で保存されます。エクセルの表をイメージしてください。「users」という表に、1行が1ユーザー、列が「名前」「メールアドレス」……という具合です。
| id | name | |
|---|---|---|
| 1 | 田中 | tanaka@example.com |
| 2 | 佐藤 | sato@example.com |
Laravelでは最初からSQLiteが使える
データベースにはいくつか種類があります(MySQL、PostgreSQL など)。本格的なものはインストールや起動が必要で、初心者には少しハードルが高めです。
そこで Laravel は、新しいプロジェクトで「SQLite(エスキューライト)」が最初から使えるようになっています。SQLite は、1つのファイルがそのままデータベースになる手軽な仕組みで、別途サーバーを立てる必要がありません。学習にはこれが一番おすすめです。
設定ファイル .env を確認する
接続先の設定は、プロジェクト直下の .env(ドットエンブ) というファイルに書かれています。これは、パスワードなど環境ごとの設定をまとめておくファイルです。開くと、次のような行があります。
DB_CONNECTION=sqlite
DB_CONNECTION=sqlite なら、SQLite を使う設定です。新規プロジェクトでは最初からこうなっているので、多くの場合そのままで大丈夫です。
データベースファイルを用意する
SQLite の実体となる空のファイルを作っておきます。ターミナル(黒い画面)で、プロジェクトのフォルダにいる状態で次を実行します。
touch database/database.sqlite
Windows で
touchが使えない場合は、databaseフォルダの中にdatabase.sqliteという名前の空ファイルを手動で作成すればOKです。
これで接続の準備は完了です。実際にテーブルを作るのは、次の単元の「マイグレーション」で行います。
(参考)MySQLを使いたい場合
将来 MySQL などを使う場合は、.env を次のように書き換えます。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=データベース名
DB_USERNAME=ユーザー名
DB_PASSWORD=パスワード
今は「こういう切り替え方がある」とだけ知っておけば十分です。学習中は SQLite で進めましょう。
まとめ
- データベースは、消えないようにデータを保存する「保管庫」。データは**テーブル(表)**で持つ。
- Laravel は新規プロジェクトで SQLite が最初から使え、サーバー不要で手軽。学習に最適。
- 接続設定は
.envのDB_CONNECTION。SQLite ならほぼそのままでよい。 touch database/database.sqliteで実体ファイルを用意する。- 次の単元では、マイグレーションでテーブルを作ります。