diff --git a/www/install/php/Update-21.10.11.php b/www/install/php/Update-21.10.11.php index c97310ee79a..18765034ac6 100644 --- a/www/install/php/Update-21.10.11.php +++ b/www/install/php/Update-21.10.11.php @@ -29,14 +29,22 @@ try { $errorMessage = "Impossible to update 'hosts' table"; if (! str_contains(strtolower($pearDBO->getColumnType('hosts', 'notification_number')), 'bigint')) { + $pearDBO->beginTransaction(); + $pearDBO->query("UPDATE `hosts` SET `notification_number`= 0 WHERE `notification_number`< 0"); $pearDBO->query("ALTER TABLE `hosts` MODIFY `notification_number` BIGINT(20) UNSIGNED DEFAULT NULL"); } $errorMessage = "Impossible to update 'services' table"; if (! str_contains(strtolower($pearDBO->getColumnType('services', 'notification_number')), 'bigint')) { + $pearDBO->beginTransaction(); + $pearDBO->query("UPDATE `services` SET `notification_number`= 0 WHERE `notification_number`< 0"); $pearDBO->query("ALTER TABLE `services` MODIFY `notification_number` BIGINT(20) UNSIGNED DEFAULT NULL"); } } catch (\Exception $e) { + if ($pearDBO->inTransaction()) { + $pearDBO->rollBack(); + } + $centreonLog->insertLog( 4, $versionOfTheUpgrade . $errorMessage .