2022/06/17
LaravelではマイグレーションでDBを管理します。
マイグレーションとはデータベースのバージョンコントロールのようなものです。
チーム内でスキーマを簡単に更新し共有できるようにしてくれます。
本日はマイグレーションについてのエントリーです。
方法
手順
1)マイグレーションファイルの作成
マイグレーションファイルってのは「どんなテーブルを作るか」というテーブルの設計書です。
まずは、マイグレーションファイルを作成をします。
# 書式
php artisan make:migration {マイグレーションファイル名} --create=テーブル名
# 例
php artisan make:migration create_users_table --create=users
# 更新の場合
php artisan make:migration add_column_to_users_table --table=users
マイグレーションのファイル名はわかりやすい名前にしましょう。
更新・・・add_***_to_table
上記のコマンドを実行すると、プロジェクトルート以下の database/migrations
にファイルが生成されます。
テーブル名を間違えたり、オプションで雛型を作成するのを忘れた場合
1.自動生成されたマイグレーションファイルを削除
2.composer dump-autoload
3.もう一度作成
2)マイグレーションファイルの編集
生成されたマイグレーションファイルを開くと以下のようになります。
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePostsTable extends Migration
{
public function up()
{
//
}
public function down()
{
//
}
}
up()とdown()に記述していきます。
up()にはテーブルやカラムの定義を記述します。
down()にはロールバック処理を記述します。
public function up()
{
// Schemaファサードで posts テーブルの作成
Schema::create('users', function (Blueprint $table) {
// カラムを作成していく
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
// テーブル削除(ロールバック)
Schema::drop('users');
}
カラムの作成については以下をご参考ください。
3)マイグレーション実行
マイグレーションファイルとはテーブルの設計書だと言いました。
設計書を作ったらそれを実行しなければテーブルは作成できません。
この実行にあたるのが「マイグレーション」になります。
php artisan migrate
これでデータベースにテーブルができます。
以上です。
PHPフレームワーク Laravel入門 第2版
僕がはじめてLaravelを学習するために参考にしたサイトは、掌田津耶乃(しょうだつやの)さんの libro というサイトです。当時(2016年)、Laravel学習サイトの中でもこのサイトは群を抜いてわかりやすく説明されていたので、とても勉強になったのを覚えています。この本は掌田津耶乃さんが書いた本なので、わかりやすく解説されているだろうと kindle で購入しました。2020年8月の時点でいうと日本国内にて唯一の Laravel の良書と言っても良いかと思います。口コミでもLaravel本のロングセラー定番解説書として認知されています。当サイトではチュートリアル形式でLaravelを解説しているので、初心者の方はこの本とセットで学習されるといいと思います。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要です。PHP自体の知識が乏しい方は 独習PHP 第3版 をあわせて購入することをお勧めします。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。