| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- -- 벤더사-인플루언서 승인 매핑 테이블
- CREATE TABLE `VENDOR_INFLUENCER_MAPPING` (
- `SEQ` int(11) NOT NULL AUTO_INCREMENT,
- `VENDOR_SEQ` int(11) NOT NULL COMMENT '벤더사 SEQ (VENDOR_LIST.SEQ 참조)',
- `INFLUENCER_SEQ` int(11) NOT NULL COMMENT '인플루언서 SEQ (USER_LIST.SEQ 참조)',
- `REQUEST_TYPE` varchar(20) NOT NULL DEFAULT 'INFLUENCER_REQUEST' COMMENT '요청 타입: INFLUENCER_REQUEST(인플루언서 요청), VENDOR_INVITE(벤더사 초대)',
- `STATUS` varchar(20) NOT NULL DEFAULT 'PENDING' COMMENT '승인 상태: PENDING(대기), APPROVED(승인), REJECTED(거절), CANCELLED(취소)',
- `REQUEST_MESSAGE` text DEFAULT NULL COMMENT '요청 메시지',
- `RESPONSE_MESSAGE` text DEFAULT NULL COMMENT '응답 메시지',
- `REQUESTED_BY` int(11) NOT NULL COMMENT '요청자 SEQ',
- `APPROVED_BY` int(11) DEFAULT NULL COMMENT '승인자 SEQ',
- `REQUEST_DATE` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '요청일시',
- `RESPONSE_DATE` timestamp NULL DEFAULT NULL COMMENT '응답일시',
- `EXPIRED_DATE` timestamp NULL DEFAULT NULL COMMENT '만료일시',
- `PARTNERSHIP_START_DATE` timestamp NULL DEFAULT NULL COMMENT '파트너십 시작일',
- `PARTNERSHIP_END_DATE` timestamp NULL DEFAULT NULL COMMENT '파트너십 종료일',
- `COMMISSION_RATE` decimal(5,2) DEFAULT NULL COMMENT '수수료율 (%)',
- `SPECIAL_CONDITIONS` text DEFAULT NULL COMMENT '특별 조건',
- `IS_ACTIVE` varchar(1) NOT NULL DEFAULT 'Y' COMMENT '활성 상태: Y(활성), N(비활성)',
- `CREATED_AT` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '생성일시',
- `UPDATED_AT` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT '수정일시',
- `ADD_INFO1` varchar(500) DEFAULT NULL COMMENT '추가정보1',
- `ADD_INFO2` varchar(500) DEFAULT NULL COMMENT '추가정보2',
- `ADD_INFO3` varchar(500) DEFAULT NULL COMMENT '추가정보3',
- PRIMARY KEY (`SEQ`),
- UNIQUE KEY `unique_vendor_influencer` (`VENDOR_SEQ`, `INFLUENCER_SEQ`, `STATUS`),
- KEY `idx_vendor_seq` (`VENDOR_SEQ`),
- KEY `idx_influencer_seq` (`INFLUENCER_SEQ`),
- KEY `idx_status` (`STATUS`),
- KEY `idx_request_type` (`REQUEST_TYPE`),
- KEY `idx_is_active` (`IS_ACTIVE`),
- KEY `idx_request_date` (`REQUEST_DATE`),
- CONSTRAINT `fk_vendor_mapping` FOREIGN KEY (`VENDOR_SEQ`) REFERENCES `VENDOR_LIST` (`SEQ`) ON DELETE CASCADE,
- CONSTRAINT `fk_influencer_mapping` FOREIGN KEY (`INFLUENCER_SEQ`) REFERENCES `USER_LIST` (`SEQ`) ON DELETE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='벤더사-인플루언서 승인 매핑 테이블';
- -- 인덱스 추가 설명
- -- unique_vendor_influencer: 동일한 벤더사-인플루언서 조합에서 동일한 상태의 중복 방지
- -- 다른 상태로는 여러 레코드 허용 (예: 이전 거절 후 재요청)
- -- 샘플 데이터 (테스트용)
- -- INSERT INTO `VENDOR_INFLUENCER_MAPPING`
- -- (`VENDOR_SEQ`, `INFLUENCER_SEQ`, `REQUEST_TYPE`, `STATUS`, `REQUEST_MESSAGE`, `REQUESTED_BY`)
- -- VALUES
- -- (1, 1, 'INFLUENCER_REQUEST', 'PENDING', '귀하의 제품에 관심이 있어 파트너십을 요청합니다.', 1),
- -- (1, 2, 'VENDOR_INVITE', 'APPROVED', '저희 브랜드와 함께 해주세요.', 1),
- -- (2, 1, 'INFLUENCER_REQUEST', 'REJECTED', '협업 요청드립니다.', 1);
|