diff --git a/models/TicketModel.php b/models/TicketModel.php index d2a418a..00f9b75 100644 --- a/models/TicketModel.php +++ b/models/TicketModel.php @@ -747,16 +747,23 @@ class TicketModel { ]; foreach ($children as $sql) { - $stmt = $this->conn->prepare($sql); - if (!$stmt) continue; - // ticket_dependencies uses two placeholders - if (strpos($sql, 'depends_on_id') !== false) { - $stmt->bind_param('ss', $ticketId, $ticketId); - } else { - $stmt->bind_param('s', $ticketId); + try { + $stmt = $this->conn->prepare($sql); + if (!$stmt) continue; + // ticket_dependencies uses two placeholders + if (strpos($sql, 'depends_on_id') !== false) { + $stmt->bind_param('ss', $ticketId, $ticketId); + } else { + $stmt->bind_param('s', $ticketId); + } + $stmt->execute(); + $stmt->close(); + } catch (mysqli_sql_exception $e) { + // Skip optional tables that may not exist in all deployments + if (strpos($e->getMessage(), "doesn't exist") === false) { + throw $e; + } } - $stmt->execute(); - $stmt->close(); } $stmt = $this->conn->prepare("DELETE FROM tickets WHERE ticket_id = ?");