Laravel Migrationとは?
LaravelのMigrationは、データベースのテーブルを作成したり、変更したりするときに使う機能です。
データベースで直接テーブルを作成せず、LaravelのMigrationファイルにテーブルの内容を書いて管理できます。
例えば、ブログで使用するblogsテーブルをMigrationで作ることができます。
Migrationファイルを作る
Artisanコマンドを使ってMigrationファイルを作成します。
php artisan make:migration create_blogs_table
コマンドを実行すると、database/migrationsフォルダにMigrationファイルが作成されます。
database/migrations
サンプルコード
blogsテーブルにtitleとcontentsを作成する例です。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateBlogsTable extends Migration
{
public function up()
{
Schema::create('blogs', function (Blueprint $table) {
$table->id();
$table->string('title', 100);
$table->text('contents');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('blogs');
}
}
コード説明
Schema::create()を使ってblogsテーブルを作成します。
Schema::create('blogs', function (Blueprint $table) { // テーブルの内容});
$table->id()でIDを作成します。
$table->id();
titleは最大100文字の文字列として作成します。
$table->string('title', 100);
contentsはブログの内容を保存する項目です。
$table->text('contents');
timestamps()は、データを作成した時間と更新した時間を保存する項目を作成します。
$table->timestamps();
down()は、Migrationを元に戻すときに実行されます。
Schema::dropIfExists('blogs');
Migrationを実行する
作成したMigrationをデータベースに反映するには、次のコマンドを実行します。
php artisan migrate
実行すると、Migrationに書いた内容でblogsテーブルが作成されます。
まとめ
LaravelのMigrationを使うと、コードでデータベースのテーブルを管理できます。
基本的な流れは、
Migrationファイルを作成 → テーブルの内容を書く → php artisan migrateを実行 → データベースにテーブルを作成
となります。
作成したblogsテーブルは、Blog Modelとつないで使用できます。

