o2o-castad-backend/docs/database-schema/migration_2026_05_21_add_co...

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='영상 댓글/대댓글';