| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- -- 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;
|