Laravel勉強会[04]~テーブルの作成~

テーブルの作成

migrationファイルの作成

以下のコマンドを実行してマイグレーションファイルを作成します。指定するファイル名を「create_hoge_table」にすると、hogeテーブルを作成するためのコマンドが追加されます。

$ php artisan make:migration create_hoge_table
Created Migration: 2019_04_15_063922_create_hoge_table

コマンドが成功すると、database/migrationsフォルダにファイルが作成されます。

$ cat database/migrations/2019_04_15_063922_create_hoge_table.php
<?php

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

class CreateHogeTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('hoge', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('hoge');
    }
}

マイグレーションはupdownのメソッドを含んでいます。
upは追加や変更処理を実行し、downupメソッドが行った操作を元に戻します。

マイグレーションの実行

以下のコマンドを実行するとdatabase/migrationsフォルダ配下のマイグレーションファイルのうちまだ反映されていないものが一括反映されます。

$ php artisan migrate

マイグレーションを強制する場合は、--forceフラグを指定します。

$ php artisan migrate --force

直前に実行した反映を取り消したい場合は、ロールバックを実行します。

# php artisan migrate:rollback

直近の数回の実行を取り消したい場合は、--stepフラグを指定します。

# php artisan migrate:rollback --step=5

全てのマイグレーションをまとめて取り消す場合はリセットを実行します。

$ php artisan migrate:reset

以上です。

参考

  • 竹澤勇貴・栗生和明・新原雅司・大村創太郎(2018)『PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5LTS対応』ソシム
  • Laravel Document

コメント

タイトルとURLをコピーしました