Salut, Pour le paquet Debian, le schéma SQL est géré par le paquet lui-même et est mis à jour pendant l'installation des .deb.
J'ai donc essayé d'extraire les commandes SQL des scripts php (en les executant en ligne de commande et en remplacant par des echo), ce qui m'a donné les deux fichiers en attachement. Par contre, j'ai un problème: pendant l'update 0721 -> 0722, une des commandes SQL échoue, dans la section: -- Correct search.constant numbers UPDATE `glpi_display` SET num=3 WHERE num=6 AND type=11; UPDATE `glpi_display` SET num=34 WHERE num=3 AND type=17; UPDATE `glpi_display` SET num=3 WHERE num=6 AND type=17; La première commande échoue, avec un duplicate key. J'ai donc essayé, en comparant les schémas, d'ajouter un: UPDATE `glpi_display` SET num=34,rank=1 WHERE ID=82; juste avant l'update, ce qui règle le problème dans le cas général ... mais pas toujours (voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548752 ) Pourriez-vous regarder si les scripts SQL sont corrects ? Je soupçonne que le problème pourrait être lié à l'ordre des commandes ... Voici l'upgrade (qui échoue) en lançant les commandes manuellement: mysql> begin; Query OK, 0 rows affected (0.00 sec) mysql> -- Update from 0.72 to 0.72.1 mysql> ALTER TABLE `glpi_groups` ADD INDEX `ldap_group_dn` ( `ldap_group_dn` ); Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> ALTER TABLE `glpi_groups` ADD INDEX `ldap_value` ( `ldap_value` ); Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> ALTER TABLE `glpi_tracking` ADD INDEX `date_mod` (`date_mod`); Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> commit; Query OK, 0 rows affected (0.00 sec) mysql> begin; Query OK, 0 rows affected (0.00 sec) mysql> -- Delete state from reservation search mysql> DELETE FROM `glpi_display` WHERE type=29 AND num=31; Query OK, 0 rows affected (0.00 sec) mysql> mysql> -- Clean licences alerts mysql> DELETE FROM `glpi_alerts` WHERE device_type=20; Query OK, 0 rows affected (0.01 sec) mysql> -- Correct search.constant numbers mysql> UPDATE `glpi_display` SET num=3 WHERE num=6 AND type=11; ERROR 1062 (23000): Duplicate entry '11-3-0' for key 'display' mysql> rollback; Query OK, 0 rows affected (0.00 sec) Merci ! Pierre
-- Update from 0.72.1 to 0.72.2 -- Delete state from reservation search DELETE FROM `glpi_display` WHERE type=29 AND num=31; -- Clean licences alerts DELETE FROM `glpi_alerts` WHERE device_type=20; -- XXX debian package: update fails because this key was duplicate -- UPDATE `glpi_display` SET num=34 WHERE num=3 AND type=11; -- DELETE FROM `glpi_display` WHERE type=11 AND num=3; UPDATE `glpi_display` SET num=34,rank=1 WHERE ID=82; -- Correct search.constant numbers UPDATE `glpi_display` SET num=3 WHERE num=6 AND type=11; UPDATE `glpi_display` SET num=34 WHERE num=3 AND type=17; UPDATE `glpi_display` SET num=3 WHERE num=6 AND type=17; UPDATE `glpi_display` SET num=34 WHERE num=3 AND type=15; UPDATE `glpi_display` SET num=3 WHERE num=7 AND type=15; UPDATE `glpi_display` SET num=46 WHERE num=40 AND type=1; UPDATE `glpi_display` SET num=40 WHERE num=5 AND type=1; UPDATE `glpi_display` SET num=5 WHERE num=8 AND type=1; UPDATE `glpi_display` SET num=45 WHERE num=6 AND type=1; UPDATE `glpi_display` SET num=6 WHERE num=9 AND type=1; UPDATE `glpi_display` SET num=6 WHERE num=9 AND type=22; UPDATE `glpi_display` SET num=5 WHERE num=8 AND type=22; UPDATE `glpi_display` SET num=23 WHERE num=5 AND type=17; UPDATE `glpi_display` SET num=23 WHERE num=5 AND type=11; UPDATE `glpi_display` SET num=24 WHERE num=7 AND type=17; UPDATE `glpi_display` SET num=24 WHERE num=7 AND type=11; UPDATE `glpi_display` SET num=19 WHERE num=9 AND type=2; UPDATE `glpi_display` SET num=19 WHERE num=9 AND type=3; UPDATE `glpi_display` SET num=19 WHERE num=9 AND type=4; UPDATE `glpi_display` SET num=19 WHERE num=9 AND type=5; UPDATE `glpi_display` SET num=19 WHERE num=9 AND type=6; UPDATE `glpi_display` SET num=19 WHERE num=9 AND type=23; UPDATE `glpi_display` SET num=16 WHERE num=10 AND type=2; UPDATE `glpi_display` SET num=16 WHERE num=10 AND type=3; UPDATE `glpi_display` SET num=16 WHERE num=10 AND type=4; UPDATE `glpi_display` SET num=16 WHERE num=10 AND type=5; UPDATE `glpi_display` SET num=16 WHERE num=6 AND type=6; UPDATE `glpi_display` SET num=16 WHERE num=7 AND type=7; UPDATE `glpi_display` SET num=16 WHERE num=7 AND type=8; UPDATE `glpi_display` SET num=16 WHERE num=10 AND type=11; UPDATE `glpi_display` SET num=16 WHERE num=6 AND type=13; UPDATE `glpi_display` SET num=16 WHERE num=12 AND type=15; UPDATE `glpi_display` SET num=16 WHERE num=10 AND type=23;
-- Update from 0.72 to 0.72.1 ALTER TABLE `glpi_groups` ADD INDEX `ldap_group_dn` ( `ldap_group_dn` ); ALTER TABLE `glpi_groups` ADD INDEX `ldap_value` ( `ldap_value` ); ALTER TABLE `glpi_tracking` ADD INDEX `date_mod` (`date_mod`);
_______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev