Comment modifier le préfixe des tables de Joomla

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Comment modifier le préfixe des tables de Joomla



    Bonjour
    Sur mon site A en Joomla ! 4.3.0 en local sous Xampp, le préfixe de mes tables est b30_
    Je souhaite modifier les préfixes des tables en b40_.
    J‘ai fait les opérations suivantes :
    J'ai pris une sauvegarde de mon site A avec Akeeba Bacup.
    À partir de cette sauvegarde, j'ai écrit un site B en utilisant Kickstart Akeeba et en spécifiant un préfixe de tables b40_.
    Les 2 sites A et B me proposent la mise à jour pour passer en J 4. 3 .1
    Sous PhpMyadmin, j'ai exporté toutes les tables du site B avec le préfixe b40_ et je les ai importées dans le site A.
    Le site A contient donc toutes les tables avec un préfixe b30_ et un préfixe b40_
    Dans la configuration globale du site A onglet serveur, j'ai modifié manuellement le préfixe des tables de b30_ en b40_.
    Le site a fonctionne normalement après redémarrage, sauf qu'il ne me propose plus de mise à jour de Joomla ou d'extension0
    Ma procédure n'est donc pas la bonne !
    Quelqu'un aurait-il une idée sur la façon de procéder pour modifier le préfixe des tables de la base de données ?
    Merci d'avance
    Cordialement.
    Michel

  • #2
    Bonjour,

    Je ne vois vraiment pas ce que tu veux faire. Si je suis ta procédure, tu as restauré les tables en changeant de préfixe et exporté les nouvelles tables pour les importer dans le site A. Tu te retrouves donc en effet avec strictement les mêmes tables, donc quel est l'intérêt de cette manipulation ?

    Malgré ça, ou justement du fait que ce soient strictement les mêmes tables (sauf session qui a peut-être embarqué des données locales si tu as ouvert le site B) tu ne devrais pas avoir cette disparition des infos de mise à jour.

    Personnellement, dans un tel cas, j'ouvre une copie des tables en mode SQL avec notepad++ et je remplace en bloc `zay3d_ en copiant précisément ce texte (`b30_ pour toi) en `zxu6bd_ (`b40_ pour toi)
    DROP TABLE IF EXISTS `zay3d_categories`;
    CREATE TABLE IF NOT EXISTS `zay3d_categories` (​
    Puis j'importe en mode SQL ou après avoir enregistré.
    A moins que ta copie des tables soit très importante, c'est faisable.

    Cela dit, rien ne t'oblige à changer de préfixe de tables, tant que ce préfixe répond à ce qu'attend Joomla!.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Admin Tools (de Akeeba) permet de changer le préfixe
      Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

      Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

      Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

      Commentaire


      • #4
        Merci pour vos réponses.
        Mon but était de tester s'il existe une procédure simple pour modifier le préfixe des tables de Joomla. En effet, sur un site assez ancien, le préfixe des tables a été créer avec une majuscule (B30_), ce qui n'est pas recommandé et me provoque de temps à autre des messages d'avertissement.
        L'extension Admin Tools de Akeeba ne comporte plus depuis très longtemps la possibilité de modifier le préfixe des tables .
        En cas de problème majeur la solution serait de faire un backup restore du site sur le serveur en modifiant le préfixe des tables comme cela est possible avec kickstart.
        Mais en attendant, le mieux étant l'ennemi du bien, j'abandonne cette idée.
        Merci pour votre aide.
        Cordialement
        Michel

        Commentaire


        • #5
          Bonjour,

          Tu n'as pas besoin de faire une sauvegarde/restauration de l'ensemble du site.
          Le plus simple est comme je l'ai expliqué plus haut l'export phpMyAdmin des tables de la base et le remplacement en masse (avec notepad++ par exemple) du préfixe, puis l'import et la modification de ce préfixe dans le fichier configuration.php, .
          Il faut ensuite supprimer les anciennes tables.
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Bonjour,
            Merci a nouveau pour ce message.
            J'ai essayé de faire ce que tu m'as dit, malheureusement cela ne marche pas.
            Après avoir exporté toutes les tables , changé le préfixe avec notepad ++ , et réimporter les nouvelles tables puis modifier le préfixe dans la configuration globale, j'obtiens le même résultat qu'avec ma procédure qui ne fonctionnait pas c'est à dire que les mises à jour de Joomla ou d'extension n'apparaissent plus sur le site.
            Il doit y avoir quelque part une table à modifier.
            Ce n'est pas grave, " if it runs, don't fix it " !!!
            Cordialement.
            Michel

            Commentaire


            • #7
              Il me paraît normal qu'un changement de préfixe n'impacte pas une telle anomalie.
              As-tu reconstruit la liste des serveurs de mise à jour ?
              La base est-elle bien à jour, dans la page système ?
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

              Commentaire


              • #8
                Bonjour,
                Une erreur est survenue
                1364 Field 'update_site_id' doesn't have a default value

                C'est le message reçu en essaya,t de reconstruire les adresses des serveurs de mise à jour !
                Muchel

                Commentaire


                • #9
                  Bonjour,

                  Cela veut dire que le champ "update_site_id" de la table "#__update_sites" n'est pas en autoincrément, ce qui est anormal et doit être corrigé
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire


                  • #10
                    Bonjour,
                    Merci pour ta réponse.
                    J'ai modifié la structure du champ "update_site_id" de la table "#__update_sites" pour ajouter une valeur par défaut.
                    De ce fait, je peux reconstruire la table des sites de mises à jour, mais cela ne change rien au fait que le site ne trouve aucune mise à jour de Joomla ou d'extension à appliquer.
                    J'abandonne définitivement ce problème qui n'a pas d'intérêt.
                    Michel

                    Commentaire


                    • #11
                      Bonjour,

                      Il ne faut pas ajouter une valeur par défaut, mais passer le champ en "auto-incrément" pour que le champ en question prenne automatiquement la valeur disponible au-delà de la dernière autorisée. En définissant une valeur par défaut, tu vas probablement te trouver avec plusieurs lignes ayant le même identifiant dans cette table.
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #12
                        Merci RobertG
                        Tu as raison, avec AUTO_INCREMENT ça mardhe !!!
                        Le problème vient du fait que ce paramètre n'est pas inclus dans la structure de la table _update_sites lors d'un export via Phpmyadmin.
                        D'autres tables doivent aussi avoir le même problème car si je réinstalle une extension Akkeba bacgkup par exemple j'ai un msg d'erreur et Akeeba n'apparaît plus dans l menu Composants...
                        Michel

                        Commentaire


                        • #13
                          Bonsoir,

                          Je suis surpris que le paramètre autoincrément puisse disparaître, il est inclus dans la partie "CREATE TABLE".
                          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X