Erreur du script d'upgrade J3 vers J4

More
6 months 3 weeks ago #5392 by teicee
Bonjour,

J'ai effectué une mise à jour d'un Joomla 3 avec GMapFP (free) vers Joomla 4 :
  • Site Joomla 3 avec la dernière version (3.10.12)
  • Extensions GMapFP mises à jour et désactivées
  • Lancement de la mise à jour vers Joomla 4 (4.4.4)
  • Installation de GMapFP avec l'archive gmapfp_J4_16F.zip
J'obtiens alors le message d'erreur suivant : Unknown column 'access' in 'where clause'

Effectivement ma table "gmapfp" ne dispose pas de la colonne "access"...
Il semble que l'upgrade soit mal géré dans le "script.php" de "com_gmapfp_J4_16F" :
  • ligne 151: met a jour le champ access
  • ligne 158: détect table J3 installée
Je pense qu'il faudrait inverser ces deux actions pour que la méthode "updateJ3_J4" soit effectuée avant la mise à jour de la valeur "access".

Cordialement

Please Log in or Create an account to join the conversation.

More
6 months 3 weeks ago #5393 by gmapfp
Bonjour,

Oui, en effet, il faut inverser ces deux actions.
Par contre, cela n'explique pas ton message : Unknown column 'access'

Peux tu m'envoyer un accès super admin à ton site par le formulaire de contact ?

Please Log in or Create an account to join the conversation.

More
6 months 3 weeks ago #5394 by teicee
Bonjour,

J'avais effectué l'inversion dans le script d'upgrade et je peux confirmer que la mise à jour se passe alors correctement.

Pour moi cela explique bien le message d'erreur, rencontré lors de la requête :
"UPDATE `#__gmapfp` SET access = 1 WHERE access = 0;"

A ce moment là avec le script d'origine, la méthode "updateJ3_J4()" n'a pas encore été appelée : ma table "gmapfp" est encore avec l'ancien schema J3 qui ne contient pas la colonne "access".

(désolé, je n'ai pas d'accès à accorder)

Please Log in or Create an account to join the conversation.

More
6 months 3 weeks ago #5395 by gmapfp
Bonjour,

Si cela fonctionne pour vous, tant mieux.
Le message : Unknown column 'access' in 'where clause'
signifie qu'il n'arrive pas à trouver le champ access dans la table.
Le fait qu'il soit à 0 ou à 1 n'y change rien.

Si cela fonctionne maintenant sur votre site, j'aurais tendance à croire que le script de mise à jour ne s'est pas exécuter lors de son premier passage.

Please Log in or Create an account to join the conversation.

More
6 months 3 weeks ago #5397 by teicee
Je travaille sur une version de test avec docker, que je peux réinitialiser dans son état d'origine avant migration. J'ai donc pu valider la correction en effectuant à nouveau l'opération complète.

Le fait que le champs "access" soit à 0 ou à 1 ne change effectivement rien, par contre le fait qu'il n'existe pas encore dans le schéma change tout ! ;)

En partant de ma db J3, la colonne n'est pas encore ajoutée dans la table, ce qui rend invalide un UPDATE sur ce champs inexistant. D'où l'importance d'appeler juste avant la méthode updateJ3_J4() qui s'en charge avec ses ALTER TABLE.

Please Log in or Create an account to join the conversation.

Time to create page: 0.176 seconds
Powered by Kunena Forum
FaLang translation system by Faboba