Files
sionrui/sql/mysql/V20241226__create_tik_tables.sql
2025-11-28 20:26:47 +08:00

73 lines
4.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 创建时间: 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');