28 lines
1.6 KiB
SQL
28 lines
1.6 KiB
SQL
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 '크리에이터 콘텐츠 시청 이력';
|