【Laravel】migrationでテーブルにカラム追加

【Laravel】migrationでテーブルにカラム追加

まずはカラム追加用のマイグレーションファイルを作成。

php artisan make:migration add_category_id_to_posts_table --table=posts

上記は、「postsテーブルにcategory_idを追加する」というマイグレーションファイル名の例。

postsやcategory_idを適切に設定し実行する。

○○○○○(Laravelプロジェクト)/database/migrations202x_xx_xx_xxxxx_add_category_id_to_posts_table.phpが生成される。

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

<?php

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

class AddCategoryIdToPostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('posts', function (Blueprint $table) {
            // 追加するカラム
            $table->unsignedBigInteger('category_id')->default(1);
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('posts', function (Blueprint $table) {
            // かならずカラム削除を入れる
            $table->dropColumn('category_id');
        });
    }
}

up()の中に、追加するカラムを追記

基本的に、down()の中にも$table->dropColumnでカラムを削除する処理を入れてください。

最後に、マイグレーションを実行して完了です。

php artisan migrate