<?php

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

class AddNicknameToUsersTable extends Migration
{
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            if (!Schema::hasColumn('users', 'nickname')) {
                $table->string('nickname')->nullable()->after('full_name')->comment('ニックネーム（ユーザー入力の表示名）');
            }
        });

        // 既存データ移行：name が full_name と異なっている場合のみ nickname へコピー
        // （元々 name = full_name で運用されていたため、差分があるものだけ nickname として扱う）
        DB::statement("UPDATE users SET nickname = name WHERE name IS NOT NULL AND name <> '' AND name <> full_name");
    }

    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('nickname');
        });
    }
}
