<?php

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

/**
 * quote_items 테이블에 item_type 컬럼 추가
 * - item_type: RM(원자재), SM(부자재), CS(소모품), FG(완제품), PT(부품)
 * - 기존 데이터는 items 테이블에서 조회하여 업데이트
 */
return new class extends Migration
{
    public function up(): void
    {
        Schema::table('quote_items', function (Blueprint $table) {
            $table->string('item_type', 15)->nullable()->after('item_id')
                ->comment('품목 유형: FG, PT, SM, RM, CS');
        });

        // 기존 데이터 업데이트: items 테이블에서 item_type 가져오기
        DB::statement('
            UPDATE quote_items qi
            INNER JOIN items i ON qi.item_id = i.id
            SET qi.item_type = i.item_type
            WHERE qi.item_id IS NOT NULL
        ');
    }

    public function down(): void
    {
        Schema::table('quote_items', function (Blueprint $table) {
            $table->dropColumn('item_type');
        });
    }
};
