J4.x

Correction du message "La structure des tables de la base de données n'est pas à jour" avant la mise à jour.

From Joomla! Documentation

This page is a translated version of the page J4.x:Fix "Database Table Structure NOT Up to Date" before Update and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎français

Erreurs signalées

Lors de la mise à jour de Joomla !, la structure des tables de la base de données doit être mise à jour avant que le processus puisse commencer.

La Vérification avant mise à jour pour Joomla se manifeste si ce n'est pas le cas.

Joomla ! 4 - Vérification avant mise à jour - la structure des tables de la base de données n'est pas à jour

Mais lorsque vous allez dans Administrateur  système  maintenance  base de données, il n'y a pas d'entrée disponible.

Versions affectées

Informations générales

Ce problème a été signalé dans toutes les versions de Joomla ! 4.x.

Quelle est la cause

Cela est dû à une table #__schemas vide dans la base de données. Cela se produit le plus souvent lorsque l'instance de Joomla ! n'est pas installée par le programme d'installation officiel de Joomla ! mais par un script personnalisé qui n'a pas rempli toutes les données requises.

Comment réparer

Vous pouvez résoudre ce problème en ajoutant la valeur manquante au tableau. Tout d'abord, vous avez besoin de l'ID de Joomla ! Allez dans la table #__extensions via phpMyAdmin (ou un autre client de base de données). Cherchez le nom=files_joomla et notez l'ID (dans notre cas 211).

Deuxièmement, vous devez connaître le dernier script SQL installé. Allez dans administrator/components/com_admin/sql/updates/mysql et récupérez le nom du fichier avec la version la plus élevée. Dans cet exemple, supposons que 4.0.3-2021-09-05.sql est le nom de fichier avec la version la plus élevée. Vous devez maintenant l'ajouter à votre requête d'insertion en tant que 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 (voir Configuration globale) avant d'exécuter les instructions.

Ensuite, allez dans Administrateur  Système  Maintenance  Base de données et corrigez les tables.

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