CREATE TABLE hls_transcode_queue ( id BIGSERIAL PRIMARY KEY, track_id BIGINT NOT NULL REFERENCES tracks(id) ON DELETE CASCADE, priority INTEGER NOT NULL DEFAULT 5, status VARCHAR(20) NOT NULL DEFAULT 'pending', retry_count INTEGER NOT NULL DEFAULT 0, max_retries INTEGER NOT NULL DEFAULT 3, error_message TEXT, created_at TIMESTAMP NOT NULL DEFAULT NOW(), started_at TIMESTAMP, completed_at TIMESTAMP ); CREATE INDEX idx_hls_transcode_queue_status ON hls_transcode_queue(status, priority DESC); CREATE INDEX idx_hls_transcode_queue_track_id ON hls_transcode_queue(track_id);