Files
media/sql/scene_split_task.sql
2026-06-22 09:18:45 +08:00

38 lines
2.0 KiB
SQL

-- scene_split_task 场景检测+视频分割异步任务表
CREATE TABLE IF NOT EXISTS scene_split_task (
id BIGSERIAL NOT NULL,
tenant_id BIGINT NOT NULL DEFAULT 0,
task_id VARCHAR(64) NOT NULL,
video_url TEXT NOT NULL DEFAULT '',
status VARCHAR(20) NOT NULL DEFAULT 'pending',
segment_urls TEXT NOT NULL DEFAULT '',
audio_url TEXT NOT NULL DEFAULT '',
scene_count INT NOT NULL DEFAULT 0,
audio_duration DOUBLE PRECISION NOT NULL DEFAULT 0,
video_duration DOUBLE PRECISION NOT NULL DEFAULT 0,
error_message TEXT,
callback_url VARCHAR(500) NOT NULL DEFAULT '',
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
deleted_at TIMESTAMP WITH TIME ZONE,
PRIMARY KEY (id)
);
COMMENT ON TABLE scene_split_task IS '场景检测+视频分割异步任务表';
COMMENT ON COLUMN scene_split_task.task_id IS '任务唯一标识';
COMMENT ON COLUMN scene_split_task.video_url IS '原始视频URL';
COMMENT ON COLUMN scene_split_task.status IS '任务状态:pending/running/success/failed';
COMMENT ON COLUMN scene_split_task.segment_urls IS '分割后的视频分片URL列表(JSON数组)';
COMMENT ON COLUMN scene_split_task.audio_url IS '提取的音频URL';
COMMENT ON COLUMN scene_split_task.scene_count IS '检测到的场景数/分片数';
COMMENT ON COLUMN scene_split_task.audio_duration IS '音频时长(秒)';
COMMENT ON COLUMN scene_split_task.error_message IS '错误信息';
COMMENT ON COLUMN scene_split_task.callback_url IS '回调地址';
COMMENT ON COLUMN scene_split_task.created_at IS '创建时间';
COMMENT ON COLUMN scene_split_task.updated_at IS '更新时间';
COMMENT ON COLUMN scene_split_task.deleted_at IS '删除时间(软删除)';
CREATE UNIQUE INDEX IF NOT EXISTS idx_scene_split_task_id ON scene_split_task(task_id);
CREATE INDEX IF NOT EXISTS idx_scene_split_status ON scene_split_task(status);
CREATE INDEX IF NOT EXISTS idx_scene_split_created_at ON scene_split_task(created_at);