/**
 * 브라우저 콘솔에서 실행하는 마이그레이션 스크립트
 * 
 * 사용 방법:
 * 1. 브라우저에서 ERP 시스템에 로그인
 * 2. F12 눌러서 개발자 도구 열기
 * 3. Console 탭 선택
 * 4. 아래 코드 전체를 복사해서 붙여넣고 Enter
 */

(async function runMigration() {
  console.log("🚀 마이그레이션 043 시작: 이미지 컬럼을 TEXT로 변경");
  
  const sql = `
    -- item_info 테이블의 image 컬럼 변경
    DO $$
    BEGIN
        IF EXISTS (
            SELECT 1 
            FROM information_schema.columns 
            WHERE table_name = 'item_info' 
            AND column_name = 'image'
        ) THEN
            ALTER TABLE item_info 
            ALTER COLUMN image TYPE TEXT;
            
            RAISE NOTICE 'item_info.image 컬럼을 TEXT 타입으로 변경했습니다.';
        ELSE
            RAISE NOTICE 'item_info.image 컬럼이 존재하지 않습니다.';
        END IF;
    END $$;

    -- 모든 테이블에서 image 관련 VARCHAR 컬럼을 TEXT로 변경
    DO $$
    DECLARE
        rec RECORD;
    BEGIN
        FOR rec IN 
            SELECT 
                table_name,
                column_name,
                character_maximum_length
            FROM information_schema.columns
            WHERE table_schema = 'public'
            AND data_type IN ('character varying', 'varchar')
            AND (
                column_name ILIKE '%image%' OR 
                column_name ILIKE '%img%' OR 
                column_name ILIKE '%picture%' OR 
                column_name ILIKE '%photo%'
            )
            AND character_maximum_length IS NOT NULL
            AND character_maximum_length < 10000
        LOOP
            EXECUTE format('ALTER TABLE %I ALTER COLUMN %I TYPE TEXT', rec.table_name, rec.column_name);
            RAISE NOTICE '%.% 컬럼을 TEXT 타입으로 변경했습니다. (이전: VARCHAR(%))', 
                rec.table_name, rec.column_name, rec.character_maximum_length;
        END LOOP;
    END $$;
  `;

  try {
    const response = await fetch('/api/dashboards/execute-dml', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ query: sql }),
      credentials: 'include'
    });

    const result = await response.json();
    
    if (result.success) {
      console.log("✅ 마이그레이션 성공!", result);
      console.log("📊 이제 이미지를 저장할 수 있습니다!");
    } else {
      console.error("❌ 마이그레이션 실패:", result);
      console.log("💡 수동으로 실행해야 합니다. RUN_043_MIGRATION.md 참고");
    }
  } catch (error) {
    console.error("❌ 마이그레이션 오류:", error);
    console.log("💡 수동으로 실행해야 합니다. RUN_043_MIGRATION.md 참고");
  }
})();

