fusioninventory / fusioninventory-for-glpi

FusionInventory plugin for GLPI
http://www.FusionInventory.org/
GNU Affero General Public License v3.0
361 stars 148 forks source link

BUG installation glpi 10.0.x pendant les altération sql #3392

Closed rahil-f closed 1 year ago

rahil-f commented 1 year ago

Bonjour,

J'ai eu 2 bugs pendant les altérations sql lors de l'installation du plugin:

1. Changement de la structure de la base de données - glpi_plugin_fusioninventory_entities

SQL Error "1264": Out of range value for column 'transfers_id_auto' at row 3 in query "ALTER TABLE `glpi_plugin_fusioninventory_entities` CHANGE `id` `id` INT unsigned NOT NULL AUTO_INCREMENT , CHANGE `entities_id` `entities_id` int unsigned NOT NULL DEFAULT '0' , CHANGE `transfers_id_auto` `transfers_id_auto` int unsigned NOT NULL DEFAULT '0' , CHANGE `agent_base_url` `agent_base_url` VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' " multiple alter in glpi_plugin_fusioninventory_entities - Erreur durant l'éxecution de la requête : ALTER TABLE `glpi_plugin_fusioninventory_entities` CHANGE `id` `id` INT unsigned NOT NULL AUTO_INCREMENT , CHANGE `entities_id` `entities_id` int unsigned NOT NULL DEFAULT '0' , CHANGE `transfers_id_auto` `transfers_id_auto` int unsigned NOT NULL DEFAULT '0' , CHANGE `agent_base_url` `agent_base_url` VARCHAR(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' - L'erreur est Out of range value for column 'transfers_id_auto' at row 3

Problème: lors du passage de INT a UNSIGNED INT, la valeur de 'transfers_id_auto' était a -1.

Correction: UPDATE glpi_plugin_fusioninventory_entities SET transfers_id_auto = 0 where transfers_id_auto < 0;

2. Changement de la structure de la base de données - glpi_plugin_fusioninventory_statediscoveries

``multiple alter in glpi_plugin_fusioninventory_statediscoveries - Erreur durant l'éxecution de la requête : ALTER TABLEglpi_plugin_fusioninventory_statediscoveriesCHANGEid`id int unsigned NOT NULL AUTO_INCREMENT , CHANGE plugin_fusioninventory_taskjob_id plugin_fusioninventory_taskjob_id int unsigned NOT NULL DEFAULT '0' , CHANGE plugin_fusioninventory_agents_id plugin_fusioninventory_agents_id int unsigned NOT NULL DEFAULT '0' , CHANGE start_time start_time timestamp NULL DEFAULT NULL , CHANGE end_time end_time timestamp NULL DEFAULT NULL , CHANGE date_mod date_mod timestamp NULL DEFAULT NULL , CHANGE threads threads int unsigned NOT NULL DEFAULT '0' , CHANGE nb_ip nb_ip int unsigned NOT NULL DEFAULT '0' , CHANGE nb_found nb_found int unsigned NOT NULL DEFAULT '0' , CHANGE nb_error nb_error int unsigned NOT NULL DEFAULT '0' , CHANGE nb_exists nb_exists int unsigned NOT NULL DEFAULT '0' , CHANGE nb_import nb_import int unsigned NOT NULL DEFAULT '0'

Problème: les dates 'start_time', 'end_time' et 'date_mod' sont mauvaise. le dst est passé de 02:00:00 a 03:00:00 or les dates affichées sont 02:00:23. le datetime est donc incorrect.

Correction: UPDATE glpi_plugin_fusioninventory_statediscoveries SET start_time = (start_time + interval '1' hour) where id = 2871; UPDATE glpi_plugin_fusioninventory_statediscoveries SET end_time = (end_time + interval '1' hour) where id = 2871; UPDATE glpi_plugin_fusioninventory_statediscoveries SET date_mod = (date_mod + interval '1' hour) where id = 2871;

ddurieux commented 1 year ago

See version 10.0.6 of GLPI with version of plugin 10.0.6+1.0 (https://github.com/fusioninventory/fusioninventory-for-glpi/releases/tag/glpi10.0.6%2B1.0)

TxX8N8LN commented 1 year ago

Bonjour, j'ai eu le meme avec la version https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi10.0.6%2B1.1/fusioninventory-10.0.6+1.1.tar.bz2

Merci à @rahil-f , avec la commande : UPDATE glpi_plugin_fusioninventory_entities SET transfers_id_auto = 0 where transfers_id_auto < 0; Problème résolu.

Bonne journée