77 lines
3.3 KiB
SQL
77 lines
3.3 KiB
SQL
-- 用户活动记录相关表
|
||
-- 包括点赞记录和查看历史
|
||
|
||
-- 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;
|