77 lines
3.3 KiB
MySQL
77 lines
3.3 KiB
MySQL
|
|
-- 用户活动记录相关表
|
|||
|
|
-- 包括点赞记录和查看历史
|
|||
|
|
|
|||
|
|
-- 1. 直播间点赞记录表
|
|||
|
|
CREATE TABLE IF NOT EXISTS `eb_live_room_like` (
|
|||
|
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|||
|
|
`user_id` int(11) NOT NULL COMMENT '用户ID',
|
|||
|
|
`room_id` varchar(50) NOT NULL COMMENT '直播间ID',
|
|||
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间',
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_user_room` (`user_id`, `room_id`),
|
|||
|
|
KEY `idx_user_id` (`user_id`),
|
|||
|
|
KEY `idx_room_id` (`room_id`),
|
|||
|
|
KEY `idx_create_time` (`create_time`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='直播间点赞记录表';
|
|||
|
|
|
|||
|
|
-- 2. 作品点赞记录表
|
|||
|
|
CREATE TABLE IF NOT EXISTS `eb_work_like` (
|
|||
|
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|||
|
|
`user_id` int(11) NOT NULL COMMENT '用户ID',
|
|||
|
|
`work_id` bigint(20) NOT NULL COMMENT '作品ID',
|
|||
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间',
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_user_work` (`user_id`, `work_id`),
|
|||
|
|
KEY `idx_user_id` (`user_id`),
|
|||
|
|
KEY `idx_work_id` (`work_id`),
|
|||
|
|
KEY `idx_create_time` (`create_time`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='作品点赞记录表';
|
|||
|
|
|
|||
|
|
-- 3. 心愿点赞记录表
|
|||
|
|
CREATE TABLE IF NOT EXISTS `eb_wish_like` (
|
|||
|
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|||
|
|
`user_id` int(11) NOT NULL COMMENT '用户ID',
|
|||
|
|
`wish_id` bigint(20) NOT NULL COMMENT '心愿ID',
|
|||
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间',
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_user_wish` (`user_id`, `wish_id`),
|
|||
|
|
KEY `idx_user_id` (`user_id`),
|
|||
|
|
KEY `idx_wish_id` (`wish_id`),
|
|||
|
|
KEY `idx_create_time` (`create_time`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心愿点赞记录表';
|
|||
|
|
|
|||
|
|
-- 4. 查看历史记录表
|
|||
|
|
CREATE TABLE IF NOT EXISTS `eb_view_history` (
|
|||
|
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|||
|
|
`user_id` int(11) NOT NULL COMMENT '用户ID',
|
|||
|
|
`target_type` varchar(20) NOT NULL COMMENT '目标类型:room-直播间, work-作品, profile-用户主页',
|
|||
|
|
`target_id` varchar(50) NOT NULL COMMENT '目标ID',
|
|||
|
|
`target_title` varchar(255) DEFAULT NULL COMMENT '目标标题',
|
|||
|
|
`view_duration` int(11) DEFAULT 0 COMMENT '观看时长(秒)',
|
|||
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '查看时间',
|
|||
|
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
KEY `idx_user_id` (`user_id`),
|
|||
|
|
KEY `idx_target` (`target_type`, `target_id`),
|
|||
|
|
KEY `idx_create_time` (`create_time`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='查看历史记录表';
|
|||
|
|
|
|||
|
|
-- 插入一些测试数据(可选)
|
|||
|
|
|
|||
|
|
-- 测试直播间点赞记录
|
|||
|
|
-- INSERT INTO eb_live_room_like (user_id, room_id, create_time)
|
|||
|
|
-- VALUES
|
|||
|
|
-- (43, '8', '2026-01-03 14:30:00'),
|
|||
|
|
-- (43, '1', '2026-01-03 13:20:00');
|
|||
|
|
|
|||
|
|
-- 测试查看历史记录
|
|||
|
|
-- INSERT INTO eb_view_history (user_id, target_type, target_id, target_title, view_duration, create_time)
|
|||
|
|
-- VALUES
|
|||
|
|
-- (43, 'room', '8', '火影忍者', 1200, '2026-01-03 14:25:00'),
|
|||
|
|
-- (43, 'room', '1', '11', 300, '2026-01-03 13:15:00'),
|
|||
|
|
-- (43, 'profile', '41', '夏至已至', 60, '2026-01-03 14:19:00');
|
|||
|
|
|
|||
|
|
-- 查询验证
|
|||
|
|
-- SELECT * FROM eb_live_room_like WHERE user_id = 43;
|
|||
|
|
-- SELECT * FROM eb_view_history WHERE user_id = 43;
|