-- 1단계: REGION 컬럼 추가
ALTER TABLE USER_LIST
ADD COLUMN REGION VARCHAR(50) COMMENT '지역' AFTER EMAIL;

-- 2단계: ENGAGEMENT_RATE 컬럼 추가
ALTER TABLE USER_LIST
ADD COLUMN ENGAGEMENT_RATE DECIMAL(5,2) COMMENT '참여율' AFTER FOLLOWER_COUNT;

-- 3단계: DESCRIPTION 컬럼 추가
ALTER TABLE USER_LIST
ADD COLUMN DESCRIPTION TEXT COMMENT '소개글' AFTER ENGAGEMENT_RATE;

-- 4단계: SNS_CHANNELS 컬럼 추가
ALTER TABLE USER_LIST
ADD COLUMN SNS_CHANNELS TEXT COMMENT 'SNS 채널 정보 (JSON)' AFTER DESCRIPTION;

-- 5단계: 인덱스 추가
ALTER TABLE USER_LIST
ADD INDEX idx_region (REGION),
ADD INDEX idx_follower_count (FOLLOWER_COUNT),
ADD INDEX idx_engagement_rate (ENGAGEMENT_RATE);

-- 6단계: 테스트 데이터 업데이트 (필요한 경우 실행)
UPDATE USER_LIST
SET 
    REGION = CASE 
        WHEN MOD(SEQ, 8) = 0 THEN 'SEOUL'
        WHEN MOD(SEQ, 8) = 1 THEN 'BUSAN'
        WHEN MOD(SEQ, 8) = 2 THEN 'INCHEON'
        WHEN MOD(SEQ, 8) = 3 THEN 'DAEGU'
        WHEN MOD(SEQ, 8) = 4 THEN 'DAEJEON'
        WHEN MOD(SEQ, 8) = 5 THEN 'GWANGJU'
        WHEN MOD(SEQ, 8) = 6 THEN 'ULSAN'
        ELSE 'GYEONGGI'
    END,
    ENGAGEMENT_RATE = ROUND(RAND() * 10, 2),
    DESCRIPTION = CASE 
        WHEN PRIMARY_CATEGORY IS NOT NULL THEN
            CASE 
                WHEN PRIMARY_CATEGORY = 'FASHION_BEAUTY' THEN '패션과 뷰티 콘텐츠를 제작하는 인플루언서입니다.'
                WHEN PRIMARY_CATEGORY = 'FOOD_HEALTH' THEN '맛집 탐방과 건강한 식단을 소개하는 푸드 크리에이터입니다.'
                WHEN PRIMARY_CATEGORY = 'LIFESTYLE' THEN '일상의 특별한 순간을 공유하는 라이프스타일 크리에이터입니다.'
                ELSE '다양한 콘텐츠를 제작하는 크리에이터입니다.'
            END
        ELSE '프로필 소개가 없습니다.'
    END,
    SNS_CHANNELS = CASE 
        WHEN MOD(SEQ, 3) = 0 THEN CONCAT('[{"platform":"instagram","handle":"@user_', SEQ, '"},{"platform":"youtube","handle":"@creator_', SEQ, '"}]')
        WHEN MOD(SEQ, 3) = 1 THEN CONCAT('[{"platform":"tiktok","handle":"@tiktok_', SEQ, '"},{"platform":"instagram","handle":"@insta_', SEQ, '"}]')
        ELSE CONCAT('[{"platform":"youtube","handle":"@youtube_', SEQ, '"},{"platform":"blog","handle":"blog.creator', SEQ, '.com"}]')
    END; 