imetting_backend/sql/transcript_tasks_setup.sql

53 lines
1.8 KiB
MySQL
Raw Normal View History

2025-12-11 08:48:12 +00:00
-- 为现有数据库添加转录任务支持的SQL脚本
-- 1. 更新audio_files表结构添加缺失字段
ALTER TABLE audio_files
ADD COLUMN file_name VARCHAR(255) AFTER meeting_id,
ADD COLUMN file_size BIGINT DEFAULT NULL AFTER file_path,
ADD COLUMN task_id VARCHAR(255) DEFAULT NULL AFTER upload_time;
-- 2. 创建转录任务表
CREATE TABLE transcript_tasks (
task_id VARCHAR(255) PRIMARY KEY,
meeting_id INT NOT NULL,
status ENUM('pending', 'processing', 'completed', 'failed') DEFAULT 'pending',
progress INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
completed_at TIMESTAMP NULL,
error_message TEXT NULL,
FOREIGN KEY (meeting_id) REFERENCES meetings(meeting_id) ON DELETE CASCADE
);
-- 3. 添加索引以优化查询性能
-- audio_files 表索引
ALTER TABLE audio_files ADD INDEX idx_task_id (task_id);
-- transcript_tasks 表索引
ALTER TABLE transcript_tasks ADD INDEX idx_meeting_id (meeting_id);
ALTER TABLE transcript_tasks ADD INDEX idx_status (status);
ALTER TABLE transcript_tasks ADD INDEX idx_created_at (created_at);
-- 4. 更新现有测试数据(如果需要)
-- 这些语句是可选的,用于更新现有的测试数据
UPDATE audio_files SET file_name = 'test_audio.mp3' WHERE file_name IS NULL;
UPDATE audio_files SET file_size = 10485760 WHERE file_size IS NULL; -- 10MB
SELECT '转录任务表创建完成!' as message;
CREATE TABLE llm_tasks (
task_id VARCHAR(100) PRIMARY KEY,
llm_task_id VARCHAR(100) DEFAULT NULL,
meeting_id INT NOT NULL,
user_prompt TEXT,
status VARCHAR(50) DEFAULT 'pending',
progress INT DEFAULT 0,
result TEXT,
error_message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
completed_at TIMESTAMP NULL,
INDEX idx_meeting_id (meeting_id),
INDEX idx_status (status),
INDEX idx_created_at (created_at)
)