26 lines
1.7 KiB
SQL
26 lines
1.7 KiB
SQL
-- ============================================================
|
|
-- Migration: 영상 댓글 테이블 추가
|
|
-- Date: 2026-05-21
|
|
-- Description: 영상 상세 페이지 댓글/대댓글 기능 (2-depth, 소프트 삭제)
|
|
-- ============================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS comment (
|
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '고유 식별자',
|
|
video_id INT NOT NULL COMMENT '연결된 Video의 id',
|
|
user_uuid VARCHAR(36) NOT NULL COMMENT '작성자 UUID (user.user_uuid 참조, 응답 미노출)',
|
|
nickname VARCHAR(20) NULL COMMENT '작성자 닉네임 (null이면 익명으로 표시)',
|
|
parent_id BIGINT NULL COMMENT 'NULL=최상위 댓글, 값=대댓글의 부모 id',
|
|
content VARCHAR(100) NOT NULL COMMENT '댓글 본문 (한글 기준 100자 이내)',
|
|
is_deleted BOOLEAN NOT NULL DEFAULT FALSE COMMENT '소프트 삭제 여부',
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '작성 일시',
|
|
PRIMARY KEY (id),
|
|
CONSTRAINT fk_comment_video FOREIGN KEY (video_id) REFERENCES video(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_comment_user FOREIGN KEY (user_uuid) REFERENCES `user`(user_uuid) ON DELETE CASCADE,
|
|
CONSTRAINT fk_comment_parent FOREIGN KEY (parent_id) REFERENCES comment(id) ON DELETE CASCADE,
|
|
INDEX idx_comment_video_id (video_id),
|
|
INDEX idx_comment_user_uuid (user_uuid),
|
|
INDEX idx_comment_parent_id (parent_id),
|
|
INDEX idx_comment_is_deleted (is_deleted)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
|
COMMENT='영상 댓글/대댓글';
|