Laravel5.7のmigration(マイグレーション)

migrationとは
マイグレーションとはデータベースのversionコントロール
データベースのスキーマ更新を簡単に出来るようになる


Laravel5.7の公式ドキュメント:
https://readouble.com/laravel/5.7/ja/migrations.html

1. migrationファイルの作成
table名の後ろに”_table”をつけてmigrationファイルを作成します。

php artisan make:migration ${tabale name}_table

では試しにコマンドラインでmigrationファイルを作成しましょう。
[vagrant@localhost zeus]$ php artisan make:migration users_table

/database/migrations 配下に yyyy_mm_dd_hhmmss_users_table.phpが作られます。

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

class UsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}

function upとdownにカラムを書いていきます。

2. migrateの実行

php artisan migrate

databaseにtableが出来ます。ただし、 public function up()が空の場合はなにもできません。

オプションでtable名を指定した場合
[vagrant@localhost zeus]$ php artisan make:migration create_users_tables –create=users
Created Migration: 2018_11_17_154656_create_users_tables
[vagrant@localhost zeus]$ php artisan migrate
Migration table created successfully.
Migrating: 2018_11_17_154656_create_users_tables
Migrated: 2018_11_17_154656_create_users_tables

mysql側
usersのテーブルが出来ているのがわかります。