役立つ情報
登録日: 2025-03-14   最終更新日: 2025-03-19

Laravel マイグレーション複数カラムを追加する方法

Laravel でマイグレーションを使用して複数のカラムを既存のテーブルに追加する方法を説明します。

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

以下のコマンドを実行して、マイグレーションファイルを作成します。


php artisan make:migration add_columns_to_example --table=example
  • example を変更したいテーブル名に置き換えてください。

例:prefecture テーブルの場合


php artisan make:migration add_columns_to_prefecture --table=prefecture

マイグレーションファイルを編集

作成されたマイグレーションファイルを開き、up メソッドと down メソッドを編集します。 例: prefecture テーブルに prefectureJisCode(JISコード)と prefectureName(名称)のカラムを追加


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

return new class extends Migration {
    public function up(): void
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('prefectureJisCode', 5)->nullable()->after('id');
            $table->string('prefectureName', 255)->nullable()->after('prefectureJisCode');
        });
    }

    public function down(): void
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn([
                    'prefectureJisCode',
                    'prefectureName'
                ]);
        });
    }
};

マイグレーションを実行

作成したマイグレーションを実行して、カラムを追加します。


php artisan migrate

ファイルを指定しマイグレーションを実行する場合は、以下のコマンドを実行します。


php artisan migrate:refresh --step=1 --path=/database/migrations/2025_03_12_111332_add_columns_to_prefecture.php

※ 上記は、2025_03_12_111332_add_columns_to_prefecture.php というファイルのマイグレーション実行を意味します。

rollback(ロールバック)する場合

マイグレーションを取り消したい場合は、以下のコマンドを実行します。


php artisan migrate:rollback

特定のマイグレーションだけを取り消したい場合は、ファイルのタイムスタンプを指定して rollback できます。


php artisan migrate:rollback --step=1

Copyright 役立つ情報.net