[ipboard.rb] ERREUR : la valeur de clé dupliquée viole la contrainte unique "import_ids_pkey" (PG::UniqueViolation)

Bonjour, j’essaie d’importer un forum IPB 3.4 en utilisant ipboard.rb, j’ai obtenu cette erreur lors de l’importation des sujets :

.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:56:in `exec': ERROR:  duplicate key value violates unique constraint \"import_ids_pkey\" (PG::UniqueViolation)
DETAIL:  Key (val)=(discussion#2264) already exists.

J’ai supprimé le sujet 2264 de la base de données SQL et relancé le script, maintenant ça fonctionne… mais j’ai perdu le sujet :pleure: et 5 ou 6 autres sujets importants avec la même erreur. Qu’est-ce qui ne va pas ? Comment puis-je importer ces sujets ?

Merci.

Peut-être que le script utilise le mauvais identifiant ? Ou peut-être que la version d’où vous venez n’est pas celle attendue par le script.

Vous n’avez pas exécuté le script, puis supprimé les sujets et essayé de le réexécuter, n’est-ce pas ?

J’ai eu ce problème avec seulement 9 sujets, tout le reste est correct, et je commence toujours à partir d’une nouvelle base de données d’installation, j’ai vérifié avec différentes sauvegardes SQL et différents hôtes. Aucune erreur trouvée dans ipboard (index, base de données, etc.).
Je ne comprends pas. :confused:

1 « J'aime »

Cela ressemble à quelque chose de subtil. Ma meilleure hypothèse est quelque chose comme. . . eh bien. Je n’ai pas de meilleure hypothèse.

Peut-être que la requête renvoie ces sujets en double d’une manière ou d’une autre ? Vous pourriez essayer d’ajouter un .where ID=123 à la requête qui récupère les sujets pour voir si elle les obtient en double, puis comprendre pourquoi.

Devrais-je l’ajouter au fichier ipboard.rb ?

Je regarderais la requête dans le script et la ferais manuellement comme je l’ai décrit et verrais quels sont les résultats.

Ok, j’ai trouvé ! :sunglasses:
Merci de m’avoir dirigé vers la solution. Regardez, je ne sais pas pourquoi mais plusieurs posts liés à des sujets problématiques avaient le champ new_topic = 1.

Note : J’ai modifié manuellement les champs et tout est rentré dans l’ordre maintenant.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.