016_add_user_list_additional_columns.sql 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. -- 1단계: REGION 컬럼 추가
  2. ALTER TABLE USER_LIST
  3. ADD COLUMN REGION VARCHAR(50) COMMENT '지역' AFTER EMAIL;
  4. -- 2단계: ENGAGEMENT_RATE 컬럼 추가
  5. ALTER TABLE USER_LIST
  6. ADD COLUMN ENGAGEMENT_RATE DECIMAL(5,2) COMMENT '참여율' AFTER FOLLOWER_COUNT;
  7. -- 3단계: DESCRIPTION 컬럼 추가
  8. ALTER TABLE USER_LIST
  9. ADD COLUMN DESCRIPTION TEXT COMMENT '소개글' AFTER ENGAGEMENT_RATE;
  10. -- 4단계: SNS_CHANNELS 컬럼 추가
  11. ALTER TABLE USER_LIST
  12. ADD COLUMN SNS_CHANNELS TEXT COMMENT 'SNS 채널 정보 (JSON)' AFTER DESCRIPTION;
  13. -- 5단계: 인덱스 추가
  14. ALTER TABLE USER_LIST
  15. ADD INDEX idx_region (REGION),
  16. ADD INDEX idx_follower_count (FOLLOWER_COUNT),
  17. ADD INDEX idx_engagement_rate (ENGAGEMENT_RATE);
  18. -- 6단계: 테스트 데이터 업데이트 (필요한 경우 실행)
  19. UPDATE USER_LIST
  20. SET
  21. REGION = CASE
  22. WHEN MOD(SEQ, 8) = 0 THEN 'SEOUL'
  23. WHEN MOD(SEQ, 8) = 1 THEN 'BUSAN'
  24. WHEN MOD(SEQ, 8) = 2 THEN 'INCHEON'
  25. WHEN MOD(SEQ, 8) = 3 THEN 'DAEGU'
  26. WHEN MOD(SEQ, 8) = 4 THEN 'DAEJEON'
  27. WHEN MOD(SEQ, 8) = 5 THEN 'GWANGJU'
  28. WHEN MOD(SEQ, 8) = 6 THEN 'ULSAN'
  29. ELSE 'GYEONGGI'
  30. END,
  31. ENGAGEMENT_RATE = ROUND(RAND() * 10, 2),
  32. DESCRIPTION = CASE
  33. WHEN PRIMARY_CATEGORY IS NOT NULL THEN
  34. CASE
  35. WHEN PRIMARY_CATEGORY = 'FASHION_BEAUTY' THEN '패션과 뷰티 콘텐츠를 제작하는 인플루언서입니다.'
  36. WHEN PRIMARY_CATEGORY = 'FOOD_HEALTH' THEN '맛집 탐방과 건강한 식단을 소개하는 푸드 크리에이터입니다.'
  37. WHEN PRIMARY_CATEGORY = 'LIFESTYLE' THEN '일상의 특별한 순간을 공유하는 라이프스타일 크리에이터입니다.'
  38. ELSE '다양한 콘텐츠를 제작하는 크리에이터입니다.'
  39. END
  40. ELSE '프로필 소개가 없습니다.'
  41. END,
  42. SNS_CHANNELS = CASE
  43. WHEN MOD(SEQ, 3) = 0 THEN CONCAT('[{"platform":"instagram","handle":"@user_', SEQ, '"},{"platform":"youtube","handle":"@creator_', SEQ, '"}]')
  44. WHEN MOD(SEQ, 3) = 1 THEN CONCAT('[{"platform":"tiktok","handle":"@tiktok_', SEQ, '"},{"platform":"instagram","handle":"@insta_', SEQ, '"}]')
  45. ELSE CONCAT('[{"platform":"youtube","handle":"@youtube_', SEQ, '"},{"platform":"blog","handle":"blog.creator', SEQ, '.com"}]')
  46. END;