feat(database): 更新数据库结构并添加新表

- 更新轮播图、评论、音乐等表的结构
- 添加歌手-音乐关联表(singer_music)
- 更新用户收藏、点赞等相关表结构
-优化部分字段注释和顺序
This commit is contained in:
ikmkj
2025-08-10 12:37:24 +08:00
parent 878bc326c3
commit 876974c4a5

View File

@@ -11,7 +11,7 @@
Target Server Version : 80041 (8.0.41) Target Server Version : 80041 (8.0.41)
File Encoding : 65001 File Encoding : 65001
Date: 25/07/2025 22:22:53 Date: 10/08/2025 12:35:43
*/ */
SET NAMES utf8mb4; SET NAMES utf8mb4;
@@ -27,13 +27,13 @@ CREATE TABLE `banner` (
`image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '图片URL', `image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '图片URL',
`link_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '链接URL', `link_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '链接URL',
`target_id` bigint NULL DEFAULT NULL COMMENT '目标ID', `target_id` bigint NULL DEFAULT NULL COMMENT '目标ID',
`target_type` int NULL DEFAULT NULL, `target_type` int NULL DEFAULT NULL COMMENT '类型1是音乐2是歌单3是歌手',
`order_num` int NULL DEFAULT 0 COMMENT '排序号', `order_num` int NULL DEFAULT 0 COMMENT '排序号',
`status` int NULL DEFAULT NULL, `status` int NULL DEFAULT NULL,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '轮播图表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '轮播图表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for comment -- Table structure for comment
@@ -53,7 +53,7 @@ CREATE TABLE `comment` (
INDEX `idx_user_id`(`user_id` ASC) USING BTREE, INDEX `idx_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_target`(`target_id` ASC, `target_type` ASC) USING BTREE, INDEX `idx_target`(`target_id` ASC, `target_type` ASC) USING BTREE,
INDEX `idx_parent_id`(`parent_id` ASC) USING BTREE INDEX `idx_parent_id`(`parent_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 56 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '评论表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 58 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '评论表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for music -- Table structure for music
@@ -75,7 +75,7 @@ CREATE TABLE `music` (
`comment_count` int NULL DEFAULT NULL COMMENT '评论数', `comment_count` int NULL DEFAULT NULL COMMENT '评论数',
`hot_score` double NULL DEFAULT NULL COMMENT '热度分数', `hot_score` double NULL DEFAULT NULL COMMENT '热度分数',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '音乐表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '音乐表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for music_singer -- Table structure for music_singer
@@ -89,7 +89,7 @@ CREATE TABLE `music_singer` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_music_singer`(`music_id` ASC, `singer_id` ASC) USING BTREE, UNIQUE INDEX `uk_music_singer`(`music_id` ASC, `singer_id` ASC) USING BTREE,
INDEX `idx_singer_id`(`singer_id` ASC) USING BTREE INDEX `idx_singer_id`(`singer_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '音乐-歌手关联表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '音乐-歌手关联表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for music_type -- Table structure for music_type
@@ -117,7 +117,7 @@ CREATE TABLE `music_type_relation` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_music_type`(`music_id` ASC, `type_id` ASC) USING BTREE, UNIQUE INDEX `uk_music_type`(`music_id` ASC, `type_id` ASC) USING BTREE,
INDEX `idx_type_id`(`type_id` ASC) USING BTREE INDEX `idx_type_id`(`type_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '音乐-类型关联表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '音乐-类型关联表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for play_history -- Table structure for play_history
@@ -131,7 +131,7 @@ CREATE TABLE `play_history` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_user_id`(`user_id` ASC) USING BTREE, INDEX `idx_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_music_id`(`music_id` ASC) USING BTREE INDEX `idx_music_id`(`music_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 51 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '播放历史表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 104 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '播放历史表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for playlist -- Table structure for playlist
@@ -146,14 +146,14 @@ CREATE TABLE `playlist` (
`type_id` bigint NULL DEFAULT NULL COMMENT '歌单类型ID', `type_id` bigint NULL DEFAULT NULL COMMENT '歌单类型ID',
`is_official` int NULL DEFAULT NULL, `is_official` int NULL DEFAULT NULL,
`play_count` bigint NULL DEFAULT 0 COMMENT '播放次数', `play_count` bigint NULL DEFAULT 0 COMMENT '播放次数',
`collect_count` int NULL DEFAULT NULL COMMENT '收藏数',
`comment_count` int NULL DEFAULT NULL COMMENT '评论数',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`collect_count` int NULL DEFAULT NULL COMMENT '收藏次数',
`comment_count` int NULL DEFAULT NULL COMMENT '评论数',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_creator_id`(`creator_id` ASC) USING BTREE, INDEX `idx_creator_id`(`creator_id` ASC) USING BTREE,
INDEX `idx_type_id`(`type_id` ASC) USING BTREE INDEX `idx_type_id`(`type_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '歌单表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '歌单表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for playlist_music -- Table structure for playlist_music
@@ -168,7 +168,7 @@ CREATE TABLE `playlist_music` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_playlist_music`(`playlist_id` ASC, `music_id` ASC) USING BTREE, UNIQUE INDEX `uk_playlist_music`(`playlist_id` ASC, `music_id` ASC) USING BTREE,
INDEX `idx_music_id`(`music_id` ASC) USING BTREE INDEX `idx_music_id`(`music_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '歌单-音乐关联表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '歌单-音乐关联表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for playlist_type -- Table structure for playlist_type
@@ -194,13 +194,24 @@ CREATE TABLE `singer` (
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '歌手头像URL', `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '歌手头像URL',
`introduction` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '歌手简介', `introduction` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '歌手简介',
`type_id` bigint NULL DEFAULT NULL COMMENT '歌手类型ID', `type_id` bigint NULL DEFAULT NULL COMMENT '歌手类型ID',
`collect_count` int NULL DEFAULT NULL COMMENT '收藏数',
`comment_count` int NULL DEFAULT NULL COMMENT '评论数',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`collect_count` int NULL DEFAULT NULL COMMENT '收藏次数',
`comment_count` int NULL DEFAULT NULL COMMENT '评论数',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_type_id`(`type_id` ASC) USING BTREE INDEX `idx_type_id`(`type_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '歌手表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '歌手表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for singer_music
-- ----------------------------
DROP TABLE IF EXISTS `singer_music`;
CREATE TABLE `singer_music` (
`singer_id` bigint NOT NULL,
`music_id` bigint NOT NULL,
PRIMARY KEY (`singer_id`, `music_id`) USING BTREE,
INDEX `FKk0fdv208e2ulhcxd9gge63h6j`(`music_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for singer_type -- Table structure for singer_type
@@ -267,7 +278,7 @@ CREATE TABLE `user_collect_music` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_user_music`(`user_id` ASC, `music_id` ASC) USING BTREE, UNIQUE INDEX `uk_user_music`(`user_id` ASC, `music_id` ASC) USING BTREE,
INDEX `idx_music_id`(`music_id` ASC) USING BTREE INDEX `idx_music_id`(`music_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏音乐表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏音乐表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for user_collect_playlist -- Table structure for user_collect_playlist
@@ -281,7 +292,7 @@ CREATE TABLE `user_collect_playlist` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_user_playlist`(`user_id` ASC, `playlist_id` ASC) USING BTREE, UNIQUE INDEX `uk_user_playlist`(`user_id` ASC, `playlist_id` ASC) USING BTREE,
INDEX `idx_playlist_id`(`playlist_id` ASC) USING BTREE INDEX `idx_playlist_id`(`playlist_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏歌单表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏歌单表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for user_collect_singer -- Table structure for user_collect_singer
@@ -295,7 +306,7 @@ CREATE TABLE `user_collect_singer` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_user_singer`(`user_id` ASC, `singer_id` ASC) USING BTREE, UNIQUE INDEX `uk_user_singer`(`user_id` ASC, `singer_id` ASC) USING BTREE,
INDEX `idx_singer_id`(`singer_id` ASC) USING BTREE INDEX `idx_singer_id`(`singer_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏歌手表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏歌手表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for user_like_music -- Table structure for user_like_music
@@ -309,7 +320,7 @@ CREATE TABLE `user_like_music` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_user_music`(`user_id` ASC, `music_id` ASC) USING BTREE, UNIQUE INDEX `uk_user_music`(`user_id` ASC, `music_id` ASC) USING BTREE,
INDEX `idx_music_id`(`music_id` ASC) USING BTREE INDEX `idx_music_id`(`music_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户点赞音乐表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户点赞音乐表' ROW_FORMAT = DYNAMIC;
-- ---------------------------- -- ----------------------------
-- Table structure for user_music -- Table structure for user_music
@@ -323,7 +334,7 @@ CREATE TABLE `user_music` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `FKb53nc2rlyaotl1socy90u0v8`(`music_id` ASC) USING BTREE, INDEX `FKb53nc2rlyaotl1socy90u0v8`(`music_id` ASC) USING BTREE,
INDEX `FKq3jkqxxm4lxvoaauy93dq1hjl`(`user_id` ASC) USING BTREE INDEX `FKq3jkqxxm4lxvoaauy93dq1hjl`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for user_playlist -- Table structure for user_playlist
@@ -337,7 +348,7 @@ CREATE TABLE `user_playlist` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `FK7k6xercebs1wg014xb49hw3h0`(`playlist_id` ASC) USING BTREE, INDEX `FK7k6xercebs1wg014xb49hw3h0`(`playlist_id` ASC) USING BTREE,
INDEX `FKmofufj03yw1wqauec6vrdnfw1`(`user_id` ASC) USING BTREE INDEX `FKmofufj03yw1wqauec6vrdnfw1`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Table structure for user_singer -- Table structure for user_singer
@@ -351,6 +362,6 @@ CREATE TABLE `user_singer` (
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `FKacl5uu14x3io8qygn0cp27nvb`(`singer_id` ASC) USING BTREE, INDEX `FKacl5uu14x3io8qygn0cp27nvb`(`singer_id` ASC) USING BTREE,
INDEX `FKnogaivkt6y4jy5vbt85tu8qj0`(`user_id` ASC) USING BTREE INDEX `FKnogaivkt6y4jy5vbt85tu8qj0`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;