53 lines
1.8 KiB
MySQL
53 lines
1.8 KiB
MySQL
|
|
-- 为现有数据库添加转录任务支持的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)
|
|||
|
|
)
|