PMB V8: "tester sur une base saine"

De L'effet des faits - les faits défaits
Révision datée du 24 octobre 2026 à 09:10 par Fbernigaud (discussion | contributions) (Page créée avec « 22 octobre 2026 : je vais explorer "tester sur une base saine" (j'ai un deuxième serveur pour les tests) mon pb :avoir des données pour tester :> quelles sont les tables que je dois exporter de la prod pour avoir : le catalogue, les emprunteurs et les prêts, et ne pas recopier du paramétrage incorrect ou absent. ==== Claude répond : ==== Pour votre test, vous n'avez probablement pas besoin de tout copier. Le problème concerne les paniers de lecteurs, d... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

22 octobre 2026 :

je vais explorer "tester sur une base saine" (j'ai un deuxième serveur pour les tests)

mon pb :avoir des données pour tester :> quelles sont les tables que je dois exporter de la prod pour avoir : le catalogue, les emprunteurs et les prêts, et ne pas recopier du paramétrage incorrect ou absent.

Claude répond :

Pour votre test, vous n'avez probablement pas besoin de tout copier. Le problème concerne les paniers de lecteurs, donc commencez par le minimum, et ajoutez le reste seulement si nécessaire.

Principe

  • Exportez les données seules (INSERT, sans CREATE TABLE) : la structure doit venir de l'installation saine, sinon vous recopiez une éventuelle structure bancale.
  • Ne copiez jamais parameters, users, ni les tables de sessions ou de logs : c'est ce qui contient le paramétrage douteux.
  • Les tables de référence (types de documents, catégories de lecteurs, etc.) sont nécessaires, car les données y renvoient par numéro. Ce n'est pas le paramétrage général de PMB, mais ce sont des listes de votre établissement.

Étape 1 : minimum pour tester le panier de lecteurs

  • empr, empr_categ, empr_statut, empr_codestat
  • empr_custom, empr_custom_lists, empr_custom_values (champs personnalisés, s'ils sont utilisés)

Avec cela, vous pouvez recréer un panier de lecteurs et relancer votre procédure. Si l'ajout fonctionne sur la base saine, la cause est bien dans votre base de production.

Étape 2 : lecteurs et prêts

  • pret (prêts en cours), pret_archive (historique, optionnel et souvent volumineux), resa (réservations)
  • groupe, empr_groupe (groupes de lecteurs)
  • Les tables de référence côté exemplaires, voir ci-dessous.

Étape 3 : catalogue

  • Notices : notices, notices_custom*, notices_langues, notices_relations, analysis, bulletins
  • Exemplaires : exemplaires et les listes docs_type, docs_location, docs_section, docs_statut, docs_codestat
  • Auteurs, éditeurs, collections : authors, responsability, publishers, collections, sub_collections, series
  • Indexation : categories, notices_categories, indexint
  • Exemplaires numériques : explnum (en général sans les fichiers eux-mêmes)

Les index de recherche (tables notices_*global_index, words, etc.) ne sont pas à copier : PMB les reconstruit (Administration > Outils > Nettoyage de base).

Précautions

  • Je connais ces noms de tables de mémoire, et PMB en compte plus de 200. Pour vérifier ou compléter, utilisez SHOW TABLES LIKE 'empr%'; (idem avec docs%, notices%, etc.) sur votre base.
  • Dans phpMyAdmin, choisissez l'exportation personnalisée, cochez uniquement ces tables, option « données seules », et décochez la création de tables.
  • Les identifiants de référence d'une installation neuve (catégories, statuts) risquent d'entrer en conflit avec les vôtres. Videz donc ces tables de la base de test avant l'import, ou utilisez l'option « REPLACE » plutôt qu'« INSERT ».
  • Si des colonnes diffèrent entre prod et test, l'import échouera avec un message précis. Ce serait en soi un indice utile sur la migration ratée.
  • Ce sont des données personnelles : si le serveur de test est moins protégé, anonymisez les noms, adresses et e-mails des lecteurs.
  • Surtout, ne restaurez pas la base de production entière sur le serveur de test. Vous retrouveriez exactement le même problème, sans pouvoir l'isoler.

Faites un export de l'étape 1, testez la procédure, et dites-moi ce que vous obtenez.