L

データベース接続の設定

そもそもデータベースとは何かをやさしく説明し、Laravelで一番手軽なSQLiteを使って接続する方法を学びます。

広告枠(記事上)— 本番では AdSense 広告が表示されます

ここからは、アプリの心臓部とも言える データベース を扱います。まずは「データベースとは何か」から、まったく知らない前提でやさしく説明します。

MVC の M(モデル=データの担当) が、これから扱うデータベースとやりとりします。

データベースとは

**データベースとは、データを整理して保存しておく「保管庫」**です。たとえば会員制サイトなら、

  • どんなユーザーが登録しているか
  • 誰がどんな投稿をしたか

といった情報を、アプリを閉じても消えないように保存しておく必要があります。これを担うのがデータベースです。

データは 表(テーブル) の形で保存されます。エクセルの表をイメージしてください。「users」という表に、1行が1ユーザー、列が「名前」「メールアドレス」……という具合です。

idnameemail
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 が最初から使え、サーバー不要で手軽。学習に最適。
  • 接続設定は .envDB_CONNECTION。SQLite ならほぼそのままでよい。
  • touch database/database.sqlite で実体ファイルを用意する。
  • 次の単元では、マイグレーションでテーブルを作ります。
広告枠(記事下)— 本番では AdSense 広告が表示されます