登録日:
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