create table recommendation_snapshot (
    id bigint not null auto_increment comment 'ID',
    section_type varchar(50) not null comment '섹션 타입',
    target_id bigint not null comment '대상 ID',
    score double not null comment '점수',
    snapshot_at TIMESTAMP not null comment '스냅샷 시각',
    random_tie_breaker double not null comment '랜덤 타이 브레이커',
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '생성 시각',
    updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '수정 시각',
    primary key (id),
    index idx_recommendation_snapshot_latest (section_type, snapshot_at, score, random_tie_breaker),
    index idx_recommendation_snapshot_target (section_type, target_id)
) comment '추천 스냅샷';

create table creator_content_view_history (
    id bigint not null auto_increment comment 'ID',
    member_id bigint not null comment '회원 ID',
    content_id bigint not null comment '콘텐츠 ID',
    genre_id bigint not null comment '장르 ID',
    viewed_at TIMESTAMP not null comment '시청 시각',
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '생성 시각',
    updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '수정 시각',
    primary key (id),
    index idx_creator_content_view_history_member_viewed (member_id, viewed_at),
    index idx_creator_content_view_history_content (content_id),
    index idx_creator_content_view_history_genre (genre_id)
) comment '크리에이터 콘텐츠 시청 이력';
