Erreurs signalées

Lors de la mise à jour depuis Joomla! 4, certains utilisateurs ont rencontré un message d'erreur dans la vérification préalable à la mise à jour de Joomla indiquant une erreur avec la structure des tables de la base de données, mais sans trouver d'erreur lors de la vérification de la page de maintenance de la base de données : Système → Maintenance → Base de données.

Quelle en est la cause

Le problème est causé par une table #__schemas vide dans la base de données. Il est très probable que cela se produise lorsque l'instance de Joomla! n'a pas été installée par l'installateur officiel de Joomla! mais par un script personnalisé qui n'a pas renseigné toutes les données requises.

Comment y remédier

Vous pouvez corriger cela en ajoutant la valeur manquante à la table. En utilisant phpMyAdmin (ou un autre client de base de données), allez à la table #__extensions. Recherchez name='files_joomla' et notez l'extension_id (dans notre cas 211).

Ensuite, vous devez connaître le dernier script SQL installé. Allez dans administrator/components/com_admin/sql/updates/mysql et récupérez le nom de fichier avec la version la plus élevée. Dans cet exemple, supposons que 4.0.3-2021-09-05.sql soit le nom de fichier avec la version la plus élevée. Vous devez maintenant l'ajouter dans votre requête d'insertion comme deuxième valeur :

INSERT INTO `#__schemas` (`extension_id`, `version_id`) VALUES
(211, '4.0.3-2021-09-05');

ou pour PostgreSQL :

INSERT INTO "#__schemas" ("extension_id", "version_id") VALUES
(211, '4.0.3-2021-09-05');

Remplacez #__ par le préfixe de votre base de données avant d'exécuter les instructions.

Ensuite, depuis le menu d'Administration, allez dans Système → Maintenance → Base de données et corrigez les tables.

La mise à jour devrait maintenant fonctionner comme prévu.