-- 创建时间: 2024-12-26 -- 创建原因: 缺少 tik_user_file 和 tik_file_group 表定义,导致分组查询无数据 -- ============================================================================ -- 创建表: tik_file_group (素材分组表) -- ============================================================================ CREATE TABLE IF NOT EXISTS `tik_file_group` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '分组编号', `tenant_id` bigint NOT NULL COMMENT '租户编号', `user_id` bigint NOT NULL COMMENT '用户编号', `name` varchar(255) NOT NULL COMMENT '分组名称', `description` varchar(500) DEFAULT NULL COMMENT '分组描述', `sort` int NOT NULL DEFAULT 0 COMMENT '排序', `icon` varchar(255) DEFAULT NULL COMMENT '分组图标', `parent_id` bigint DEFAULT NULL 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`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='素材分组表'; -- 创建索引 CREATE INDEX idx_tik_file_group_user_id ON tik_file_group(user_id); CREATE INDEX idx_tik_file_group_parent_id ON tik_file_group(parent_id); -- ============================================================================ -- 创建表: tik_user_file (用户文件表) -- ============================================================================ CREATE TABLE IF NOT EXISTS `tik_user_file` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '文件编号', `tenant_id` bigint NOT NULL COMMENT '租户编号', `user_id` bigint NOT NULL COMMENT '用户编号', `file_id` bigint DEFAULT NULL COMMENT '文件编号(关联infra_file.id,可选)', `file_name` varchar(500) NOT NULL COMMENT '文件名称', `file_type` varchar(100) NOT NULL COMMENT '文件类型(video/image/document等)', `file_category` varchar(50) NOT NULL COMMENT '文件分类(video/generate/audio/mix/voice)', `file_size` bigint NOT NULL COMMENT '文件大小(字节)', `file_url` text COMMENT '文件访问URL', `file_path` text COMMENT '文件存储路径', `cover_url` text COMMENT '封面图URL(视频文件的封面图)', `cover_base64` longtext COMMENT '封面图Base64(视频文件的封面图原始base64数据,可选)', `thumbnail_url` text COMMENT '缩略图URL(图片文件的缩略图)', `group_id` bigint DEFAULT NULL COMMENT '默认分组编号(关联tik_file_group.id,可选)', `description` varchar(500) DEFAULT NULL 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`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户文件表'; -- 创建索引 CREATE INDEX idx_tik_user_file_user_id ON tik_user_file(user_id); CREATE INDEX idx_tik_user_file_file_category ON tik_user_file(file_category); CREATE INDEX idx_tik_user_file_group_id ON tik_user_file(group_id); CREATE INDEX idx_tik_user_file_file_type ON tik_user_file(file_type); -- ============================================================================ -- 插入默认测试数据 -- ============================================================================ -- 插入一个默认分组(供测试使用) INSERT INTO `tik_file_group` (`tenant_id`, `user_id`, `name`, `description`, `sort`, `icon`) VALUES (1, 1, '默认分组', '默认分组', 1, NULL); -- 插入一些测试文件(用户ID为1,分组ID为1) INSERT INTO `tik_user_file` ( `tenant_id`, `user_id`, `file_name`, `file_type`, `file_category`, `file_size`, `file_url`, `group_id`, `description` ) VALUES (1, 1, 'test-video-1.mp4', 'video/mp4', 'video', 1024000, 'https://example.com/test-video-1.mp4', 1, '测试视频1'), (1, 1, 'test-video-2.mp4', 'video/mp4', 'video', 2048000, 'https://example.com/test-video-2.mp4', 1, '测试视频2'), (1, 1, 'test-audio-1.mp3', 'audio/mp3', 'audio', 512000, 'https://example.com/test-audio-1.mp3', 1, '测试音频1');