| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- -- 012_add_rating_column.sql
- -- USER_LIST 테이블에 RATING 컬럼 추가 (MariaDB 호환)
- -- RATING 컬럼이 이미 존재하는지 확인 후 추가
- SET @sql = (
- SELECT IF(
- (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME = 'USER_LIST'
- AND COLUMN_NAME = 'RATING') = 0,
- 'ALTER TABLE USER_LIST ADD COLUMN RATING DECIMAL(3,1) DEFAULT 0.0 COMMENT "사용자 평점 (0.0~5.0)"',
- 'SELECT "RATING 컬럼이 이미 존재합니다" as message'
- )
- );
- PREPARE stmt FROM @sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
- -- RATING 컬럼 인덱스 생성 (존재하지 않을 경우에만)
- SET @sql = (
- SELECT IF(
- (SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME = 'USER_LIST'
- AND INDEX_NAME = 'idx_user_rating') = 0,
- 'CREATE INDEX idx_user_rating ON USER_LIST (RATING DESC)',
- 'SELECT "idx_user_rating 인덱스가 이미 존재합니다" as message'
- )
- );
- PREPARE stmt FROM @sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
- -- RATING 기본값 업데이트 (NULL인 경우에만)
- UPDATE USER_LIST
- SET RATING = 0.0
- WHERE RATING IS NULL;
- -- 성공 메시지
- SELECT 'USER_LIST 테이블 RATING 컬럼 추가 완료' as result;
|