You are not logged in.
Pages: 1
Topic closed
Bonjour à tous,
Alors, je ne sais pas pourquoi, mais glpi me propose de réaliser une mise à jour de FusionInventory (sans que j'ai ajouter de fichier ou quoi que ce soit).
Lorsque je clic sur le lien "Mettre à jour", j'obtiens le message suivant :
odification du schéma - glpi_plugin_fusioninventory_agentmodules ( 0 Sec(s))
0.80+1.4 multiple alter in glpi_plugin_fusioninventory_agentmodules Erreur durant la mise à jour de la base de donnéesDuplicate column name 'id'
Alors, je ne sais pas, une brève recherche m'a conduite sur un site, mais je n'ai rien compris à la manip.
Quelqu'un rencontre-t-il un problème similaire ?
En vous remerciant pour votre collaboration.
Richard
Last edited by richard_sraing (2013-03-06 13:52:28)
Offline
J ecrois avoir fais une correction y a pas longtemps
Offline
La version du fichier tar.gz date du 26/11/2012 sur le site http://forge.fusioninventory.org/projec … glpi/files
La correction en question, je la trouve dans le roadmap ?
Je vous prie de bien vouloir excuser mon ignorance, mais je ne suis pas très au fait du fonctionnement de système de développement open.
En vous remerciant pour les réponses qu'il vous sera possible de m'apporter.
Richard
Offline
Ah ben non pas corrigé. Tu pourrais m'envoyer un dump de ta base par mail ? (d.durieux@siprossii.com)
Offline
Tu ne préfère pas un fichier .sql ? (je ne sais pas comment on fait un dump avec phpmyadmin :?)
Offline
oui c'est ça, un dump en fichier .sql
Offline
Bonjour,
Alors, étant quelqu'un de très curieux, j'ai commencer ma petite recherche.
Dans le fichier /plugins/fusioninventory/install/update.php à la ligne 303, je trouve ceci :
$migration->addField($newTable,
'id',
"int(11) NOT NULL AUTO_INCREMENT");
Et je ne sais pas, mais si je comprend bien, la méthode addField de l'objet migration, ajoutera un champ à la table en question.
Est-ce que je peux placer ces quelques lignes en commentaires ? S'agit-il bien de ces lignes qui posent problèmes ?
Last edited by richard_sraing (2013-03-04 12:35:54)
Offline
Bon, je viens de mettre les 3 lignes en questions en commentaires, mais l'erreur de la mise à jour se poursuis sur les suivante :
Modification du schéma - glpi_plugin_fusioninventory_agentmodules ( 0 Sec(s))
0.80+1.4 multiple alter in glpi_plugin_fusioninventory_agentmodules Erreur durant la mise à jour de la base de donnéesDuplicate column name 'plugins_id'
Je ne sais pas, mais serait-il possible qu'il manque une vérification 'if / else' dans le bloc en question ?
Voici le code que j'ai :
/*
* Table glpi_plugin_fusioninventory_agentmodules
*/
$newTable = "glpi_plugin_fusioninventory_agentmodules";
if (!TableExists($newTable)) {
$query = "CREATE TABLE `".$newTable."` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1";
$DB->query($query);
}
$migration->changeField($newTable,
'id',
'id',
"int(11) NOT NULL AUTO_INCREMENT");
$migration->changeField($newTable,
'plugins_id',
'plugins_id',
"int(11) NOT NULL DEFAULT '0'");
$migration->changeField($newTable,
'modulename',
'modulename',
"varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL");
$migration->changeField($newTable,
'is_active',
'is_active',
"int(1) NOT NULL DEFAULT '0'");
$migration->changeField($newTable,
'exceptions',
'exceptions',
"text COMMENT 'array(agent_id)'");
$migration->changeField($newTable,
'entities_id',
'entities_id',
"int(11) NOT NULL DEFAULT '-1'");
$migration->changeField($newTable,
'url',
'url',
"varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''");
$migration->migrationOneTable($newTable);
// $migration->addField($newTable, // l'erreur semble citée en premier post semble se produire ici.
// 'id',
// "int(11) NOT NULL AUTO_INCREMENT");
$migration->addField($newTable,
'plugins_id',
"int(11) NOT NULL DEFAULT '0'");
$migration->addField($newTable,
'modulename',
"varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL");
$migration->addField($newTable,
'is_active',
"int(1) NOT NULL DEFAULT '0'");
$migration->addField($newTable,
'exceptions',
"text COMMENT 'array(agent_id)'");
$migration->addField($newTable,
'entities_id',
"int(11) NOT NULL DEFAULT '-1'");
$migration->addField($newTable,
'url',
"varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''");
$migration->addKey($newTable,
array("plugins_id", "modulename"),
"unicity",
"UNIQUE");
$migration->addKey($newTable,
"is_active");
$migration->addKey($newTable,
"entities_id");
$migration->migrationOneTable($newTable);
Offline
Je regarde cet après midi, je n'vaais pas encore eu le temps de voir ça
Offline
Pas de problème, je me suis dit que tu aurais peut-être une piste à suivre comme cela.
En te remerciant pour ton investissement.
Offline
Bon,
Je ne sais pas si cela était lié, mais le problème semble résolu.
En fait, j'avais un soucis avec la BD mysql semble-t-il. voir ce post
Le problème est donc résolu.
Bonne journée à tous.
Offline
Pages: 1
Topic closed