Files
ai_dianshang/server/migrations/add_comment_tables.sql

66 lines
3.1 KiB
MySQL
Raw Normal View History

2025-11-17 13:32:54 +08:00
-- 评论功能相关表创建脚本
-- 创建时间: 2024-12-19
-- 商品评论表
CREATE TABLE `ai_comments` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户ID',
`product_id` bigint(20) unsigned NOT NULL COMMENT '商品ID',
`order_id` bigint(20) unsigned NOT NULL COMMENT '订单ID',
`order_item_id` bigint(20) unsigned NOT NULL COMMENT '订单项ID',
`rating` tinyint(4) NOT NULL DEFAULT '5' COMMENT '评分 1-5星',
`content` text COMMENT '评论内容',
`images` text COMMENT '评论图片JSON格式存储',
`is_anonymous` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否匿名评论',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态1-正常2-隐藏3-删除',
`reply_count` int(11) NOT NULL DEFAULT '0' COMMENT '回复数量',
`like_count` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数量',
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_product_id` (`product_id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_item_id` (`order_item_id`),
KEY `idx_rating` (`rating`),
KEY `idx_status` (`status`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品评论表';
-- 评论回复表
CREATE TABLE `ai_comment_replies` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`comment_id` bigint(20) unsigned NOT NULL COMMENT '评论ID',
`user_id` bigint(20) unsigned NOT NULL COMMENT '回复用户ID',
`content` text NOT NULL COMMENT '回复内容',
`is_admin` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否管理员回复',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态1-正常2-隐藏3-删除',
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_comment_id` (`comment_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_status` (`status`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评论回复表';
-- 评论点赞表
CREATE TABLE `ai_comment_likes` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`comment_id` bigint(20) unsigned NOT NULL COMMENT '评论ID',
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户ID',
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_comment_user` (`comment_id`, `user_id`),
KEY `idx_comment_id` (`comment_id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评论点赞表';
-- 为商品表添加评论统计字段
ALTER TABLE `ai_products`
ADD COLUMN `comment_count` int(11) NOT NULL DEFAULT '0' COMMENT '评论数量' AFTER `sales`,
ADD COLUMN `average_rating` decimal(3,2) NOT NULL DEFAULT '0.00' COMMENT '平均评分' AFTER `comment_count`;
-- 为订单项表添加评论状态字段
ALTER TABLE `order_items`
ADD COLUMN `is_commented` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已评论' AFTER `spec_info`;