This commit is contained in:
2025-12-08 09:08:10 +08:00
parent 976b6dec2d
commit 380eae3da5
5 changed files with 1563 additions and 0 deletions

View File

@@ -336,4 +336,85 @@ CREATE TABLE `verification_codes` (
-- Records of verification_codes
-- ----------------------------
-- ----------------------------
-- Table structure for moments (朋友圈动态表)
-- ----------------------------
DROP TABLE IF EXISTS `moments`;
CREATE TABLE `moments` (
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '动态ID',
`user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '发布者ID',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '文字内容',
`media_type` tinyint NULL DEFAULT 0 COMMENT '媒体类型: 0=纯文字 1=图片 2=视频',
`media_urls` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '媒体URL列表(JSON数组)',
`location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '位置信息',
`visibility` tinyint NULL DEFAULT 0 COMMENT '可见性: 0=公开 1=仅好友 2=部分好友可见 3=部分好友不可见',
`visible_user_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '可见/不可见用户ID列表(JSON数组)',
`mention_user_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '@的用户ID列表(JSON数组)',
`topic_tags` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '话题标签(JSON数组)',
`like_count` int NULL DEFAULT 0 COMMENT '点赞数',
`comment_count` int NULL DEFAULT 0 COMMENT '评论数',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否已删除',
`created_at` datetime(3) NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime(3) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_moments_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_moments_created_at`(`created_at` ASC) USING BTREE,
INDEX `idx_moments_visibility`(`visibility` ASC) USING BTREE,
INDEX `idx_moments_is_deleted`(`is_deleted` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '朋友圈动态表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for moment_likes (动态点赞表)
-- ----------------------------
DROP TABLE IF EXISTS `moment_likes`;
CREATE TABLE `moment_likes` (
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`moment_id` bigint UNSIGNED NOT NULL COMMENT '动态ID',
`user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '点赞用户ID',
`created_at` datetime(3) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_moment_user`(`moment_id` ASC, `user_id` ASC) USING BTREE,
INDEX `idx_moment_likes_moment_id`(`moment_id` ASC) USING BTREE,
INDEX `idx_moment_likes_user_id`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '动态点赞表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for moment_comments (动态评论表)
-- ----------------------------
DROP TABLE IF EXISTS `moment_comments`;
CREATE TABLE `moment_comments` (
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '评论ID',
`moment_id` bigint UNSIGNED NOT NULL COMMENT '动态ID',
`user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '评论者ID',
`reply_to_comment_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '回复的评论ID(NULL为直接评论)',
`reply_to_user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '回复的用户ID',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '评论内容',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否已删除',
`created_at` datetime(3) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_moment_comments_moment_id`(`moment_id` ASC) USING BTREE,
INDEX `idx_moment_comments_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_moment_comments_reply_to`(`reply_to_comment_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '动态评论表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for moment_notifications (朋友圈通知表)
-- ----------------------------
DROP TABLE IF EXISTS `moment_notifications`;
CREATE TABLE `moment_notifications` (
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '通知ID',
`user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '接收通知的用户ID',
`from_user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '触发通知的用户ID',
`moment_id` bigint UNSIGNED NOT NULL COMMENT '关联的动态ID',
`type` tinyint NOT NULL COMMENT '通知类型: 1=点赞 2=评论 3=回复 4=@提及',
`comment_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '关联的评论ID',
`is_read` tinyint(1) NULL DEFAULT 0 COMMENT '是否已读',
`created_at` datetime(3) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_moment_notifications_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_moment_notifications_is_read`(`is_read` ASC) USING BTREE,
INDEX `idx_moment_notifications_created_at`(`created_at` ASC) USING BTREE,
INDEX `idx_moment_notifications_moment_id`(`moment_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '朋友圈通知表' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;