송용우 b3766f028f no message 4 ヶ月 前
..
001_create_vendor_influencer_mapping_table.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 ヶ月 前
002_add_vendor_influencer_mapping_indexes.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 ヶ月 前
003_add_vendor_influencer_mapping_foreign_keys.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 ヶ月 前
004_remove_approved_by_foreign_key.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 ヶ月 前
006_fix_unique_constraint_fundamental.sql d74d2e1918 + 컨트롤러 모델 정리 4 ヶ月 前
007_create_status_history_table.sql d74d2e1918 + 컨트롤러 모델 정리 4 ヶ月 前
008_clear_data_and_drop_status.sql d74d2e1918 + 컨트롤러 모델 정리 4 ヶ月 前
009_safe_truncate_with_fk.sql d74d2e1918 + 컨트롤러 모델 정리 4 ヶ月 前
010_mariadb_compatible.sql d74d2e1918 + 컨트롤러 모델 정리 4 ヶ月 前
011_mariadb_safe_dynamic.sql d74d2e1918 + 컨트롤러 모델 정리 4 ヶ月 前
012_add_rating_column.sql b3766f028f no message 4 ヶ月 前
012_add_rating_column_fixed.sql b3766f028f no message 4 ヶ月 前
012_add_rating_column_simple.sql b3766f028f no message 4 ヶ月 前
README.md b3766f028f no message 4 ヶ月 前
README_SAFE.md 6ceaa8e61c + 작업중 파일 4 ヶ月 前

README.md

DDL 스크립트 실행 가이드

📋 스크립트 실행 순서

중요: 반드시 순서대로 실행해주세요.

기본 테이블 생성

# 1. 기본 매핑 테이블 생성
mysql -h [HOST] -u [USER] -p [DATABASE] < 001_create_vendor_influencer_mapping_table.sql

# 2. 인덱스 생성
mysql -h [HOST] -u [USER] -p [DATABASE] < 002_add_vendor_influencer_mapping_indexes.sql

# 3. 외래키 설정
mysql -h [HOST] -u [USER] -p [DATABASE] < 003_add_vendor_influencer_mapping_foreign_keys.sql

스키마 수정

# 4. 외래키 제거
mysql -h [HOST] -u [USER] -p [DATABASE] < 004_remove_approved_by_foreign_key.sql

# 5. 유니크 제약조건 수정
mysql -h [HOST] -u [USER] -p [DATABASE] < 006_fix_unique_constraint_fundamental.sql

# 6. 히스토리 테이블 생성
mysql -h [HOST] -u [USER] -p [DATABASE] < 007_create_status_history_table.sql

데이터 정리

# 7. 데이터 정리 및 스키마 최적화
mysql -h [HOST] -u [USER] -p [DATABASE] < 008_clear_data_and_drop_status.sql

# 8. 안전한 데이터 정리
mysql -h [HOST] -u [USER] -p [DATABASE] < 009_safe_truncate_with_fk.sql

MariaDB 호환성

# 9. MariaDB 호환 스크립트
mysql -h [HOST] -u [USER] -p [DATABASE] < 010_mariadb_compatible.sql

# 10. MariaDB 동적 SQL
mysql -h [HOST] -u [USER] -p [DATABASE] < 011_mariadb_safe_dynamic.sql

# 11. RATING 컬럼 추가 ✨ **신규 추가**
mysql -h [HOST] -u [USER] -p [DATABASE] < 012_add_rating_column.sql

🚨 주의사항

실행 전 확인사항

  1. 데이터베이스 백업 완료
  2. 충분한 권한 확보 (ALTER, CREATE, DROP 권한 필요)
  3. 운영 시간대 피해서 실행

실행 후 확인사항

  1. 테이블 구조 확인: DESC VENDOR_INFLUENCER_MAPPING;
  2. 인덱스 확인: SHOW INDEX FROM VENDOR_INFLUENCER_MAPPING;
  3. 히스토리 테이블 확인: DESC VENDOR_INFLUENCER_STATUS_HISTORY;
  4. USER_LIST 테이블 RATING 컬럼 확인: DESC USER_LIST;

📁 스크립트 설명

파일명 목적 상태
001_create_vendor_influencer_mapping_table.sql 기본 매핑 테이블 생성
002_add_vendor_influencer_mapping_indexes.sql 성능 최적화 인덱스
003_add_vendor_influencer_mapping_foreign_keys.sql 데이터 무결성 외래키
004_remove_approved_by_foreign_key.sql 외래키 제거
006_fix_unique_constraint_fundamental.sql 유니크 제약조건 수정
007_create_status_history_table.sql 상태 이력 테이블 생성
008_clear_data_and_drop_status.sql 데이터 정리
009_safe_truncate_with_fk.sql 안전한 데이터 정리
010_mariadb_compatible.sql MariaDB 호환성
011_mariadb_safe_dynamic.sql MariaDB 동적 SQL
012_add_rating_column.sql USER_LIST RATING 컬럼 추가 신규

🔄 롤백 방법

문제 발생 시 역순으로 롤백:

# RATING 컬럼 제거
ALTER TABLE USER_LIST DROP COLUMN RATING;
DROP INDEX idx_user_rating ON USER_LIST;

# 기타 테이블 롤백은 기존 문서 참조

✅ 검증 명령어

-- 1. 테이블 존재 확인
SHOW TABLES LIKE '%VENDOR_INFLUENCER%';

-- 2. 컬럼 구조 확인
DESC VENDOR_INFLUENCER_MAPPING;
DESC VENDOR_INFLUENCER_STATUS_HISTORY;
DESC USER_LIST;

-- 3. RATING 컬럼 확인
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'USER_LIST' AND COLUMN_NAME = 'RATING';

-- 4. 인덱스 확인
SHOW INDEX FROM VENDOR_INFLUENCER_MAPPING;
SHOW INDEX FROM USER_LIST;

최종 업데이트: 2024-12-22
총 스크립트 수: 11개
실행 예상 시간: 5-10분