Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Erreur lors du upgrade

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Serge Aumont <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Erreur lors du upgrade
  • Date: Tue, 01 Mar 2011 08:59:54 +0100

Le 16/02/11 18:49, TDE a écrit :
Bonjour,

Lors du upgrade, au moment de la mise à jour de la base (" Updating the new robot_subscriber and robot_admin Db fields..."), j'ai une erreur SQL :

DBD::mysql::db do failed: Duplicate entry 'xxx' for key 'PRIMARY' at /mail/sympa_ldif/bin/Upgrade.pm line 237.
err Upgrade::upgrade() Unable to execute SQL statement "UPDATE subscriber_table SET robot_subscriber='xxxx' WHERE (list_subscriber='xxxx')" : Duplicate entry 'xxx'

Cela se produit lorsque l'on a comme entrée :
(1) robot1 => liste1 => user toto
(2) robot2 => liste1 => user toto
or la clé primaire est {robot1,liste1,user} pour la table subscriber_table

En ligne 237, nous avons :
my $statement = sprintf "UPDATE %s_table SET robot_%s=%s WHERE (list_%s=%s)",
<=>
UPDATE subscriber_table SET robot_subscriber=robot2 WHERE (list_subscriber=liste1)

je ne vois pas trop à quoi ça sert car le champs robot_subscriber est correctement remplis (j'avais supprimé auparavant dans mon dump bdd avant, tous les INSERT INTO sans de robot définis)
mais on vois bien que le update va rentrer en conflit avec l'entrée (2)


J'ai changé le WHERE en rajoutant la condition de faire le UPDATE si robot_subscriber est vide mais je ne sais pas si c'est cela peut provoquer des pb futurs.
Bonjour

Vous ne précisez pas la version depuis laquelle vous faites l'Upgrade ni vers quelle version.
N'auriez vous pas une version très ancienne qui ne permettez pas d'avoir des listes homonymes dans des robots différents ?

Vous avez bien analysé le problème et vous avez pris une bonne solution.
Serge Aumont



Archives gérées par MHonArc 2.6.19+.

Haut de le page