(Laravel) マイグレーション実施手順

(Laravel) マイグレーション実施手順

 

Laravelについてのメモ書き、
とくにマイグレーションについて

 

マイグレーション実施手順

マイグレーションを実施する手順は以下。

マイグレーション実施手順
  1. マイグレーションファイルの作成
  2. マイグレーション実行

 

①マイグレーションファイルの作成

最初に、マイグレーションファイルの作成について説明していく

 

マイグレーションファイルをコマンドで作成

マイグレーションファイルを以下のコマンドで作成する。

php artisan make:migration ファイル名

 

ファイル名は、どのような作業をするかわかるようなものにする
例えば「create_〇〇_table」など。

作成したマイグレーションファイルは以下に格納される

database/migration/

 

マイグレーションファイルの一覧(database/migration)
Pasted Graphic 1.png

 

マイグレーションファイルのデフォルトの記述は以下

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatePeopleTable extends Migration
{

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {

        Schema::create('people', function (Blueprint $table) {

            $table->bigIncrements('id');
            $table->timestamps();

        });

    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */

    public function down()
    {

        Schema::dropIfExists('people');

    }

}

 

upメソッドdownメソッドがある。

upメソッドはテーブル作成の定義を記述するメソッド、
downメソッドはテーブル削除の定義を記述するメソッドだ。

 

upメソッドを記述する

マイグレーションファイルを作成したら、ファイル内のupメソッドを記述する。
upメソッドは、テーブルを作成するための処理

Schemaクラスのcreateメソッドでテーブル作成の処理をする。

Schema::create('people', function (Blueprint $table) {
      $table->increments('id');
      $table->timestamps();
});

 

第一引数にはテーブル名(上記ではpeople)
第二引数には、引数にBlueprint $tableを引数にした、クロージャを記述する。

クロージャ内の記述方式は下記

$table->フィールドの型(‘フィールド名’);

 

フィールドの型名がメソッドになっており、フィールド名を引数に渡すことで
そのテーブルのフィールドが出来上がっていく。

 

downメソッドを記述する

作成したマイグレーションファイル内のdownメソッドを記述する。
downメソッドは、テーブルを削除するための処理
Schemaクラスのdropメソッドか、dropIfExistsメソッドを使用する。
引数に指定したテーブルを削除する。

public function down(){

#どちらか片方を記述
     Schema::drop('people');
     Schema::dropIfExists('people');

}

 

 

②マイグレーションを実行する

上記手順が済んだら、
下記コマンドで、マイグレーションを実行する。

php artisan migrate

upメソッドに記述した定義に基づいて、テーブルが作成される

 

(参考) マイグレーションをやり直したい場合

マイグレーションをやり直したい場合のコマンドも各種用意されている。
以下の記事で詳しく紹介しているので、参考に。

 

マイグレーションまとめ

Laravelのマイグレーションとは、
PHPのスクリプトを使って、データベースのテーブルをコマンドから作成、削除すること。

マイグレーションは以下の手順で実施する

マイグレーション実施手順
  1. マイグレーションファイルの作成
  2. マイグレーション実行

 

マイグレーションは、DBの定義をファイルで管理しておくが、そのメリットは以下

マイグレーションのメリット

何らかの理由でDBの移行などをする際、DBの構造は移行元と移行先で、
一致している必要があるが、毎回一からDBを作成するのは大変なので、
DBの構造をスクリプトで管理しておくことで、作業の簡潔化と、ミスを防ぐことができる。

 

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。