CREATE TABLE IF NOT EXISTS `cos_config` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `secret_id` VARCHAR(255) NOT NULL COMMENT '腾讯云 SecretId', `secret_key` VARCHAR(255) NOT NULL COMMENT '腾讯云 SecretKey', `bucket` VARCHAR(255) NOT NULL COMMENT '存储桶名称', `region` VARCHAR(64) NOT NULL COMMENT '地域,如 ap-shanghai', `path_prefix` VARCHAR(255) DEFAULT 'archive/media/' COMMENT 'COS 路径前缀', `domain` VARCHAR(255) DEFAULT NULL COMMENT '自定义访问域名(可选)', `enabled` TINYINT(1) DEFAULT 0 COMMENT '是否启用:0-停用 1-启用', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX `idx_enabled` (`enabled`) COMMENT '启用状态索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='腾讯云 COS 配置表'; CREATE TABLE IF NOT EXISTS `archive_media_files` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `msg_id` VARCHAR(255) NOT NULL COMMENT '企微消息 msgid', `archive_message_id` BIGINT(20) NOT NULL COMMENT 'archive_messages.id', `sdkfileid` VARCHAR(512) DEFAULT NULL COMMENT '企微媒体文件 sdkfileid', `cos_url` VARCHAR(1024) NOT NULL COMMENT 'COS 文件访问 URL', `file_size` BIGINT(20) DEFAULT 0 COMMENT '文件大小(字节)', `file_type` VARCHAR(32) DEFAULT NULL COMMENT '文件类型:image/voice/video/file', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:1-有效 0-无效', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_archive_msg_id` (`archive_message_id`) COMMENT '消息ID唯一', UNIQUE KEY `uk_msg_id` (`msg_id`) COMMENT '企微消息ID唯一', INDEX `idx_status` (`status`) COMMENT '状态索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会话存档媒体文件 COS 映射表';