5 tables InnoDB plutôt que MyISAM

Mots-clés : 

Ce sujet a 5 réponses, 2 participants et a été mis à jour par  Jérôme, il y a 5 jours et 6 heures.

  • Auteur
    Messages
  • #2873


    anxest

    Bonjour,

    En enquêtant sur ce que je pensais être un problème d’encodage de mon coté, j’ai remarqué que 5 tables utilisaient InnoDB (ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin) tandis que toutes les autres utilisent MyISAM (ENGINE=MyISAM DEFAULT CHARSET=utf8) : 

    – conges
    – conges_cet
    – conges_infos
    – planning_hebdo_periodes
    – recuperations

    Je ne suis pas encore sûr que mon problème soit lié, mais je préférais le signaler tout de même au cas où (peut être que cela peut expliquer le problème remonté par M. Crouzet ?).

    J’imagine qu’il vaut mieux que je convertisse ces tables pour qu’elles respectent le format global. Je vais tester cela de mon coté sur une copie.

    Constaté sur une install de planningBiblio v. 19.04.04 (et confirmé sur une nouvelle install en 19.10.01 avec une génération de BDD).

  • #2875


    Jérôme
    Admin bbPress

    Bonjour,

    Il y a effectivement des différences au niveau des tables mais le problème d’encodage ne vient pas de là. Ceci sera uniformisé par la suite.

    Pour régler les problèmes d’encodage, vous pouvez suivre la procédure suivante :
    NB : sauvegardez votre base de données avant toute opération.

    • téléchargez le paquet encoding.zip à cette adresse : https://drive.google.com/open?id=1gGioUUwz-3PZR1qbb2mx6HFgZklO-c88
    • décompressez-le dans le dossier setup/atomicupdate
      • si le dossier atomicupdate n’est pas présent dans setup, créez-le au préalable
      • si le dossier atomicupdate contient déjà des fichiers, supprimez-les
    • ensuite, exécutez la commande suivante depuis le dossier setup
    • php -f updatedatabase.php
    • Vérifiez depuis l’interface web si les erreurs sont corrigées

    Ce correctif sera intégré aux prochaines mises à jour ainsi qu’un travail plus approfondi sur l’encodage de caractères.

    Merci de faire un retour en commentant ce sujet.

    Cordialement,
    Jérôme

  • #2877


    anxest

    Bonjour,

    Merci beaucoup pour votre retour, cette correction semble effectivement régler mes problèmes. J’ai cependant une erreur lors de l’intervention, je vous colle ci-dessous le retour : 

    $ php -f updatedatabase.php
    20191025_fix_encoding_absences2.php: Ok
    Ok
    20191025_fix_encoding_agents2.php: Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    20191025_fix_encoding_config.php: 20191025_fix_encoding_config2.php: Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    Ok
    20191030_fix_encoding_absences.php: 20191030_fix_encoding_activites.php: 20191030_fix_encoding_agents.php: 20191030_fix_encoding_conges.php: 20191030_fix_encoding_modeles.php: PHP Warning:  Invalid argument supplied for foreach() in /mnt/c/LocalWebServer/planningbiblio/setup/atomicupdate/20191030_fix_encoding_modeles.php on line 16
    PHP Stack trace:
    PHP   1. {main}() /mnt/c/LocalWebServer/planningbiblio/setup/updatedatabase.php:0
    PHP   2. require_once() /mnt/c/LocalWebServer/planningbiblio/setup/updatedatabase.php:22
    20191030_fix_encoding_postes.php: 20191030_fix_encoding_select_absences.php:

    Je vais attendre un peu avant d’appliquer le correctif en production au cas où cette erreur aurait des répercussions.

  • #2878


    anxest

    Après vérification, la table pl_poste_modeles est vide dans ma base, cela semble expliquer l’erreur.

  • #2879


    Jérôme
    Admin bbPress

    L’erreur n’est pas gênante (mais merci de l’avoir notifiée, elle sera écartée).

    L’erreur est liée au fait qu’on demande l’itération d’un tableau qui n’existe pas dans votre cas (visiblement, vous n’avez aucun modèle enregistré, vrai ?).

  • #2881


    Jérôme
    Admin bbPress

    Nouveau correctif, plus complet, pour régler les problèmes d’encodage.

    Suivre la procédure suivante :

    NB : sauvegardez votre base de données avant toute opération.

    • téléchargez le fichier 20191203_fix_encoding.php à cette adresse https://drive.google.com/open?id=1oOfgFwehULoxRnOBAqUF_4FLwnBuHmKJ
    • placez-le dans le dossier setup/atomicupdate
      • si le dossier atomicupdate n’est pas présent dans setup, créez-le au préalable
      • si le dossier atomicupdate contient déjà des fichiers, supprimez-les
    • ensuite, exécutez la commande suivante depuis le dossier setup
    • php -f updatedatabase.php
    • Vérifiez depuis l’interface web si les erreurs sont corrigées

    Ce correctif sera intégré aux prochaines mises à jour.

    Merci de faire un retour en commentant ce sujet.

    Cordialement,
    Jérôme

    • Cette réponse a été modifiée le il y a 5 jours et 6 heures par  Jérôme.

Répondre à : 5 tables InnoDB plutôt que MyISAM

Vos informations: