73 lines
4.1 KiB
SQL
73 lines
4.1 KiB
SQL
-- 创建时间: 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');
|