CREATE TABLE IF NOT EXISTS conversion_jobs ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, uuid CHAR(36) NOT NULL, status ENUM('pending', 'processing', 'done', 'failed') NOT NULL DEFAULT 'pending', family VARCHAR(32) NOT NULL, source_format VARCHAR(16) NOT NULL, target_format VARCHAR(16) NOT NULL, original_filename VARCHAR(255) NOT NULL, input_path VARCHAR(255) NOT NULL, output_path VARCHAR(255) NULL, input_mime_type VARCHAR(128) NOT NULL, output_mime_type VARCHAR(128) NULL, input_size_bytes INT UNSIGNED NOT NULL, output_size_bytes INT UNSIGNED NULL, quality SMALLINT UNSIGNED NULL, conversion_duration_seconds DECIMAL(10,3) NULL, error_message VARCHAR(255) NULL, error_log TEXT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, expires_at DATETIME NOT NULL, cleaned_at DATETIME NULL DEFAULT NULL, UNIQUE KEY uniq_uuid (uuid), INDEX idx_status (status), INDEX idx_expires_at (expires_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;