송용우 d74d2e1918 + 컨트롤러 모델 정리 4 tháng trước cách đây
..
001_create_vendor_influencer_mapping_table.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 tháng trước cách đây
002_add_vendor_influencer_mapping_indexes.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 tháng trước cách đây
003_add_vendor_influencer_mapping_foreign_keys.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 tháng trước cách đây
004_remove_approved_by_foreign_key.sql 07415b0ce7 + 벡엔드 ddl 삭제후 중첩되지 않도록 신규로 필요한 부분만 다시 생성 4 tháng trước cách đây
006_fix_unique_constraint_fundamental.sql d74d2e1918 + 컨트롤러 모델 정리 4 tháng trước cách đây
007_create_status_history_table.sql d74d2e1918 + 컨트롤러 모델 정리 4 tháng trước cách đây
008_clear_data_and_drop_status.sql d74d2e1918 + 컨트롤러 모델 정리 4 tháng trước cách đây
009_safe_truncate_with_fk.sql d74d2e1918 + 컨트롤러 모델 정리 4 tháng trước cách đây
010_mariadb_compatible.sql d74d2e1918 + 컨트롤러 모델 정리 4 tháng trước cách đây
011_mariadb_safe_dynamic.sql d74d2e1918 + 컨트롤러 모델 정리 4 tháng trước cách đây
README.md 6ceaa8e61c + 작업중 파일 4 tháng trước cách đây
README_SAFE.md 6ceaa8e61c + 작업중 파일 4 tháng trước cách đây

README.md

DDL 실행 순서 가이드

벤더사-인플루언서 시스템의 데이터베이스 스키마를 구축하기 위한 DDL 파일들의 실행 순서입니다.

실행 순서

1. 001_create_vendor_influencer_mapping_table.sql

  • 목적: 벤더사-인플루언서 승인 매핑 테이블 생성
  • 의존성: VENDOR_LIST, USER_LIST 테이블이 이미 존재해야 함
  • 설명: 벤더사와 인플루언서 간의 승인 요청 및 파트너십 관리를 위한 핵심 테이블

2. 002_add_vendor_influencer_mapping_indexes.sql

  • 목적: 성능 최적화를 위한 인덱스 추가
  • 의존성: 001번 DDL 실행 완료
  • 포함 인덱스:
    • 기본 검색용 인덱스 (VENDOR_SEQ, INFLUENCER_SEQ, STATUS 등)
    • 복합 인덱스 (성능 최적화)
    • 유니크 인덱스 (중복 방지)

3. 003_add_vendor_influencer_mapping_foreign_keys.sql

  • 목적: 데이터 무결성을 위한 외래키 제약 조건 추가
  • 의존성: 001, 002번 DDL 실행 완료
  • 외래키 관계:
    • VENDOR_LIST와의 관계
    • USER_LIST와의 관계 (인플루언서, 요청자, 승인자)

4. 004_add_vendor_list_additional_columns.sql

  • 목적: VENDOR_LIST 테이블에 검색 및 분류를 위한 컬럼 추가
  • 의존성: 기존 VENDOR_LIST 테이블 존재
  • 추가 컬럼:
    • CATEGORY (사업 카테고리)
    • REGION (지역)
    • DESCRIPTION (설명)
    • LOGO (로고 URL)
    • TAGS (검색 태그)
    • APPROVAL_STATUS (승인 상태)
    • 기타 관리용 컬럼들

5. 005_add_user_list_additional_columns.sql

  • 목적: USER_LIST 테이블에 인플루언서 정보를 위한 컬럼 추가
  • 의존성: 기존 USER_LIST 테이블 존재
  • 추가 컬럼:
    • INFLUENCER_TYPE (인플루언서 타입)
    • PRIMARY_CATEGORY (주요 활동 카테고리)
    • FOLLOWER_COUNT (팔로워 수)
    • 소셜미디어 링크들
    • 프로필 정보
    • 인증 관련 컬럼들

6. 006_create_partnership_history_table.sql

  • 목적: 파트너십 활동 이력 추적을 위한 테이블 생성
  • 의존성: 001~005번 DDL 실행 완료
  • 기능: 모든 파트너십 관련 액션을 로깅하여 감사 추적 가능

7. 007_create_notification_table.sql

  • 목적: 알림 시스템을 위한 테이블 생성
  • 의존성: 001~006번 DDL 실행 완료
  • 기능: 파트너십 관련 알림 및 시스템 공지사항 관리

8. 008_create_sample_data_inserts.sql

  • 목적: 테스트 및 개발을 위한 샘플 데이터 삽입
  • 의존성: 001~007번 DDL 실행 완료
  • 포함 데이터:
    • 벤더사 샘플 데이터
    • 인플루언서 샘플 데이터
    • 매핑 관계 샘플 데이터
    • 이력 및 알림 샘플 데이터

9. 009_add_vendor_list_indexes.sql

  • 목적: VENDOR_LIST 테이블 검색 최적화 인덱스 추가
  • 의존성: 004번 DDL 실행 완료 (컬럼 추가 후)
  • 포함 인덱스: 카테고리, 지역, 승인상태 등

10. 010_add_user_list_indexes.sql

  • 목적: USER_LIST 테이블 검색 최적화 인덱스 추가
  • 의존성: 005번 DDL 실행 완료 (컬럼 추가 후)
  • 포함 인덱스: 인플루언서타입, 카테고리, 인증상태 등

실행 방법

# MySQL 명령어로 순차 실행
mysql -u [username] -p [database_name] < ddl/001_create_vendor_influencer_mapping_table.sql
mysql -u [username] -p [database_name] < ddl/002_add_vendor_influencer_mapping_indexes.sql
mysql -u [username] -p [database_name] < ddl/003_add_vendor_influencer_mapping_foreign_keys.sql
mysql -u [username] -p [database_name] < ddl/004_add_vendor_list_additional_columns.sql
mysql -u [username] -p [database_name] < ddl/005_add_user_list_additional_columns.sql
mysql -u [username] -p [database_name] < ddl/006_create_partnership_history_table.sql
mysql -u [username] -p [database_name] < ddl/007_create_notification_table.sql
mysql -u [username] -p [database_name] < ddl/008_create_sample_data_inserts.sql
mysql -u [username] -p [database_name] < ddl/009_add_vendor_list_indexes.sql
mysql -u [username] -p [database_name] < ddl/010_add_user_list_indexes.sql

주의사항

  1. 순서 중요: 반드시 번호 순서대로 실행해야 합니다.
  2. 의존성 확인: 각 DDL 파일의 전제조건을 확인하세요.
    • 009번은 004번 실행 후
    • 010번은 005번 실행 후
  3. 백업: 프로덕션 환경에서는 실행 전 반드시 데이터베이스 백업을 수행하세요.
  4. 권한: DDL 실행을 위한 적절한 데이터베이스 권한이 필요합니다.
  5. 테스트: 개발 환경에서 먼저 테스트 후 프로덕션에 적용하세요.
  6. 샘플 데이터: 008번 파일의 샘플 데이터는 개발/테스트 환경에서만 사용하세요.
  7. 인덱스 중복: 기존에 동일한 이름의 인덱스가 있으면 에러가 발생할 수 있습니다.

롤백 방법

각 DDL 파일에 대응하는 롤백 스크립트가 필요한 경우, 역순으로 DROP TABLE, DROP INDEX, DROP CONSTRAINT 등을 실행해야 합니다.

버전 관리

  • 각 DDL 파일의 상단에 생성일과 목적이 명시되어 있습니다.
  • 변경사항이 있을 경우 새로운 번호의 DDL 파일을 생성하여 관리합니다.