You are not logged in.
Bonjour à tous , Actuellement en charge du serveur GLPI de mon entreprise , je me heurte à un problème que je n'arrive pas à résoudre.
Laissez moi vous introduire le contexte pour que vous ayez les informations nécessaire.
J'ai tout d'abord effectuer un export via phpmyadmin de ma base GLPI en mode SQL , c'est un export en "INSERT INTO"
Aprés l'avoir injecter dans une base de données de test pour la mise à jour , j'ai bien effectuer un php bin:console glpi:checkforrequirement, Tout est ok.
Cependant lors de la mise à jour, l'erreur "SQL 1062" apparait du à une double informations lors de l'ajout à la table "glpi_domains_items" et ceci pour tout le matériel enregistré sur GLPI.
j'ai remarqué que cette table d'index d'unicité est nouvelle, créer lors du passage en 9.5.0 , j'aimerais savoir aussi qu'elle est son utilité et comment elle fonctionne.
SQL Error "1062": Duplicate entry '1-Computer-25' for key 'unicity' in query "INSERT INTO `glpi_domains_items` (`domains_id`, `itemtype`, `items_id`) VALUES ('1', 'Computer', '25')"
Merci Beaucoup.
Last edited by APCR-13 (2021-07-22 09:05:36)
Offline
Bonjour,
J'ai cette erreur dans mes logs depuis la 9.5.3, pour le moment cela n'a jamais causé de problème de mon côté. Cependant je n'ai pas le numéro de l'erreur SQL (dans les fichiers sql-errors.log présent dans _log du dossier GLPI)
Mes recherches ne m'ont pointé que vers ces 2 liens :
forum.glpi-project[DOT]org/viewtopic.php?id=46687 github[DOT]com/glpi-project/glpi/issues/6554
Je rencontre cette erreur sur de nombreuses tables personnellement, voici un petit extrait :
glpisqllog.ERROR: DBmysql::query() in /data/webs/web-3727/inc/dbmysql.class.php line 306
*** MySQL query error:
SQL: INSERT INTO `glpi_documents_items` (`documents_id`, `itemtype`, `items_id`, `users_id`, `entities_id`, `is_recursive`, `date_creation`, `date_mod`) VALUES ('14068', 'ITILFollowup', '93769', '569', '0', '1', '2021-07-22 10:18:27', '2021-07-22 10:18:27')
Error: Duplicate entry '14068-ITILFollowup-93769-0' for key 'unicity'
glpisqllog.ERROR: DBmysql::query() in /data/webs/web-3727/inc/dbmysql.class.php line 306
*** MySQL query error:
SQL: INSERT INTO `glpi_tickets_users` (`type`, `tickets_id`, `use_notification`, `users_id`, `alternative_email`) VALUES ('2', '24482', '1', '507', '')
Error: Duplicate entry '24482-2-507-' for key 'unicity'
glpisqllog.ERROR: DBmysql::query() in /data/webs/web-3727/inc/dbmysql.class.php line 306
*** MySQL query error:
SQL: INSERT INTO `glpi_groups_tickets` (`type`, `tickets_id`, `groups_id`) VALUES ('2', '24468', '45')
Error: Duplicate entry '24468-2-45' for key 'unicity'
Je n'ai pas encore pris le temps de faire une issue sur le github ni de fouiller le fond du problème je dois avouer.
Offline
Oui je comprend , cependant pour mon cas cela m'empêche carrément de faire mon update vers la nouvelle version, j'obtiens cette erreur suite au passage de la 9.4.7 à la 9.5.0.
Même en essayant de corriger une à une les erreurs SQL , cela me rajoute d'autres erreurs. c'est pour cela que j'essaie de comprendre l'utilité de cette table dans la base.
Merci quand même
(PS : pouvait vous me re-link votre url car le lien ne fonctionne pas , Merci)
Offline
Hello,
il faut remplacer les [DOT] par des . le forum ne permettant pas les posts avec des URL
Pour le problème de l'update je ne vois pas trop ce qui pourrait causer problème sans plus d'information (moment exact ou ça bloque dans le process + log si possible)
La doc d'update est ici si besoin : glpi-install [DOT] readthedocs [DOT] io/en/latest/command-line.html
Offline
Voici le contenue du fichier " Migration_to 9.5.0.log"
J'ai remplacer les [@......] pour ne pas afficher le nom, mais dans les crochets l'hostname de la machine apparait.
Je précise aussi que l'erreur que je décris dans mon premier post apparait lors de l'upgrade de version et seulement aprés la 9.4.7 lors de l'installation de la 9.5.0.
2021-07-20 14:25:29 [@Hostname]
0 seconde for "Traitement en cours..." @ 2021-07-20 14:25:29 [@Hostname]
0 seconde for "Changement de la structure de la base de données - glpi_entities" @ 2021-07-20 14:25:32 [@Hostname]
3 secondes for "Changement de la structure de la base de données - glpi_entities" @ 2021-07-20 14:25:41 [@Hostname]
9 secondes for "Changement de la structure de la base de données - glpi_items_softwareversions" @ 2021-07-20 14:25:46 [@s$
5 secondes for "Changement de la structure de la base de données - glpi_items_softwareversions" @ 2021-07-20 14:25:47 [@s$
1 seconde for "Changement de la structure de la base de données - glpi_items_softwarelicenses" @ 2021-07-20 14:25:47 [@s-$
0 seconde for "Rename "AuthLdap" itemtype to "AuthLDAP" in all tables" @ 2021-07-20 14:25:47 [@Hostname]
0 seconde for "Rename "Crontask" itemtype to "CronTask" in all tables" @ 2021-07-20 14:26:02 [@Hostname]
15 secondes for "Rename "InfoCom" itemtype to "Infocom" in all tables" @ 2021-07-20 14:26:02 [@Hostname]
0 seconde for "Changement de la structure de la base de données - glpi_documents_items" @ 2021-07-20 14:45:58[@Hostname-$
0 seconde for "Traitement en cours..." @ 2021-07-20 14:45:58 [@Hostname]
0 seconde for "Rename "AuthLdap" itemtype to "AuthLDAP" in all tables" @ 2021-07-20 14:45:58 [@Hostname]
0 seconde for "Rename "Crontask" itemtype to "CronTask" in all tables" @ 2021-07-20 14:46:10 [@Hostname]
12 secondes for "Rename "InfoCom" itemtype to "Infocom" in all tables" @ 2021-07-20 14:46:10 [@Hostname]
0 seconde for "Changement de la structure de la base de données - glpi_documents_items" @ 2021-07-20 14:55:28[@Hostname-$
0 seconde for "Traitement en cours..." @ 2021-07-20 14:55:28 [@Hostname]
0 seconde for "Rename "AuthLdap" itemtype to "AuthLDAP" in all tables" @ 2021-07-20 14:55:28 [@Hostname]
0 seconde for "Rename "Crontask" itemtype to "CronTask" in all tables" @ 2021-07-20 14:55:42 [@Hostname]
14 secondes for "Rename "InfoCom" itemtype to "Infocom" in all tables" @ 2021-07-20 14:55:42 [@Hostname]
0 seconde for "Changement de la structure de la base de données - glpi_documents_items" @ 2021-08-09 08:20:13 [@Hostname-$
Offline
Bonjour je viens aux nouvelles , serait il possible que cette erreur d'upgrade qui ne se produit qu'au passage vers la 9.5.0 provienne du fait qu'un plugin soit encore actif lors du DUMP SQL ?
( Sachant que le DUMP avec le plugin actif fonctionne jusqu’à la 9.4.6, mais qu'il devient une option dans le store pour la 9.5.0)
Merci.
Offline
Bonjour après confirmation et étude des changements entre les différentes mise à jour, la table "glpi_domains_items" est bien crée en remplacement du champs "domains_id" pour les équipements.
Cependant l'erreur persiste toujours lors du passage de la 9.4.6 --> 9.5.0.
Est ce que le plugin "OCSinventory" installée auparavant créer cette table dans les versions précédentes. Ou bien rien à voir, je peux me tromper.
J'espère que quelqu'un va pouvoir lire la suite de ce post car cela fait un moment qu'il est actif, malgré toutes les recherche je ne trouve aucune solution à cette erreur.
Merci d'avoir pris le temps de tout lire.
Offline
Bonjour,
J'ai rencontré le même soucis lors de tests de migration de 9.4.6 vers 9.5.6.
A la base je voulais corriger les erreurs sql de ce type :
SQL Error "3699": Timeout exceeded in regular expression match. in query "SELECT `id`, `content`, `users_id` FROM `glpi_itilfollowups` WHERE `content` REGEXP 'document\\.send\\.php\\?docid=[0-9]+'"
SQL Error "3699": Timeout exceeded in regular expression match. in query "SELECT `id`, `content`, `users_id` FROM `glpi_itilsolutions` WHERE `content` REGEXP 'document\\.send\\.php\\?docid=[0-9]+'"
J'ai résolu les erreurs ci-dessus en ajoutant dans la configuration mysql (/etc/my.cnf) :
regexp_stack_limit=2000
regexp_time_limit=300
(valeur calculer de manière empirique pour que ca passe sur mon installation...
Je n'ai plus rencontré les messages d'erreurs de ce type:
SQL Error "1062": Duplicate entry '1-Computer-16786' for key 'glpi_domains_items.unicity' in query "INSERT INTO `glpi_domains_items` (`domains_id`, `itemtype`, `items_id`) VALUES ('1', 'Computer', '16786')"
Plateforme en exploitation : GLPI 10.0.3 + GLPiinventory 10.0.3sur Fedora 36
PHP 8.1.11 ,Apache/2.4.54, mysql 8
Offline
C'est une solution que je dois essayer. Pour ma part :
- J'ai desinstaller le plugin OCS-inventory sur mon ancienne Version.
- J'ai effectué mon DUMPSql
- J'ai importer ma base sur une machine vierge
- J'ai utiliser l'outil php afin de faire toute les vérification et tout c'est bien passer.
- Pour finir effectué une mise à jour des versions pas à pas (Version par version)
Je ne sais absolument pas d’où vient cette erreur car pour ma part j'ai remarqué dans plusieurs cas d'installation qu'il y avait un lien avec ocs et sur d'autre forum qu'il fallait désactiver le plugin, Réinstaller tout sur du vierge à surement aidé.
En espérant que votre solution est la bonne pour les futurs personnes qui rencontreront cette erreur.
Merci.
Last edited by APCR-13 (2021-10-26 15:08:05)
Offline