Laravelでデータベースを作成する方法(マイグレーション)
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
この記事では、Laravel でデータベースを作成する手順についてまとめました。
Laravel にはマイグレーションのシステムで簡単にデータベースを作成することができます。
はじめに
Laravel には、マイグレーションシステムがあります。
マイグレーションとは、データベースのバージョンをコントロールするような機能となっています。
このマイグレーションがないと、例えばローカルでデータベースを共有したいようなとき、全く同じデータベースを手作業で作成しなければなりません。
そのあたりを、解決しているのがこのマイグレーションとなります。
この記事は、Laravel の公式ドキュメントの「マイグレーション」という記事を要約したものとなります。
https://readouble.com/laravel/6.x/ja/migrations.html
前提条件
すでに Laravel をインストールしている状態であること。
MAMP でデータベースを作成します
(基本的にどこでデータベースを作成しても、ローカルのポートさえ間違わなければ Laravel の設定は同じになると思います)
データベースを作成する手順
MAMP の phpMyAdmin でデータベースを作成する
phpMyAdmin の画面で左のメニューの上の方にある新規作成を押します。
すると右の画面にこういう表示が出てくるので、
データベース名:test_db
型:utf8mb4unicodeci← 下から2番目のやつ
にしてください。参考画像
これで作成を押すと、空のデータベースが作成されます。
この時入力した、test_db がデータベース名となります。
上の方に書かれている 8889 がポート名、となります。
以上が、phpmyadmin の画面での作業となります。
Laravel の.env ファイルを修正
.env ファイルは、Laravel プロジェクトのルートディレクトリにあります。
(ルートディレクトリっていうのは、Laravel プロジェクトの一番上のディレクトリってことです。)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=test_db
DB_USERNAME=root
DB_PASSWORD=root
さきほど作成したテーブル名、ポート、ユーザーネームとパスワードを設定します。
ユーザーネームとパスワードは、MAMP の初期設定が root になっているので、このように書きます。
コマンドで
php artisan config:clear
を打って、env ファイルの変更を反映させます。
接続確認
Laravel には最初からマイグレーションファイルが何個か用意されています。
なので、それを使って、接続できるか確認します。
方法は、コマンド 1 個です。
php artisan migrate
このコマンドをして、画像のようになれば OK です。
こうならない場合は、どこかの作業を間違っている可能性があるので確認してみてください。
マイグレーションファイルを作成する
マイグレーションファイルを作成します。
今回は、「posts」というテーブルを作成します。
コマンド一発です。
php artisan make:migration create_posts_table
うまくいけば、database/migrations フォルダにファイルが作成されていると思います。
この辺りのコマンドは、公式ドキュメントに書いてあり、その通り打ってます。
マイグレーションファイルを編集する
作成されたマイグレーションファイルを開くと、最初から色々と書かれていると思います。
なので、そこに追記する形でこんな感じで書いてみます。
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->string('contents');
$table->timestamps();
});
3 行目、4 行目以外は最初に書いてあったものです。
title,contents の二つのカラムを作成します。
マイグレーションファイルを作成したら、
php artisan migrate
このコマンドでテーブルを作成することができます。
下記のようなログになれば OK です。
最後に、phpMyAdmin で内容を確認すると、下記画像のように、posts テーブルが作成されていれば OK です。
便利ツールの紹介です
データベース設計とマイグレーションファイル作成を同時にできるツール
データベースを設計するとき、ER 図というのを作成するのですが、その ER 図を作成すれば、同時にデータベースを作成するためのマイグレーションファイルを一緒に書き出してくれるというツールになります。
ER 図ってのは、下の画像みたいなやつです。
めっちゃ便利です。
特に、プロダクトの作り始めの段階では便利だと思います。
まとめ
以上で Laravel のマイグレーションを使って、データベースを作成することができました。
細かい内容については、随時アップデートしてリンクを貼る予定なので、ちょくちょくブログに遊びにきていただければと思います。
それでは、最後まで見ていただき、ありがとうございました。