Laravel Migrationとは?

LaravelのMigrationは、データベースのテーブルを作成したり、変更したりするときに使う機能です。

データベースで直接テーブルを作成せず、LaravelのMigrationファイルにテーブルの内容を書いて管理できます。

例えば、ブログで使用するblogsテーブルをMigrationで作ることができます。

Migrationファイルを作る

Artisanコマンドを使ってMigrationファイルを作成します。

php artisan make:migration create_blogs_table

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

database/migrations

サンプルコード

blogsテーブルにtitlecontentsを作成する例です。

<?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とつないで使用できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

技術情報

前の記事

Laravelとは?