Une erreur SQL après l’activation d’un plugin

Vous êtes très fier d’avoir installé un plugin,mais vous vous retrouvez avec des message d’erreur dans votre interface : malheur ! Au secours ! SOS...---...

Ce n’est pas si grave (du moins pour les visiteurs de votre site) !
- les messages d’erreur SPIP ne sont affichés qu’aux Administrateurs du site,
- SPIP va continuer à calculer les pages de squelettes, au moins partiellement,
_ (sans afficher d’alerte publique pour les noisettes qu’il ne sait traiter).

Mais cela ne vous interdit pas de corriger votre ... Installation de plugins, pas de soucis SVP !

Article publié le 18 février 2021, et actualisé en février 2021

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Des erreurs SQL dans l’interface privée

Revenons sur un exemple de cas typique : chez OVH [1]
- l’installation du plugin A2A semble bien se passer,
et vous rédacteur, continuez à travailler sur votre site....
Mais sur certaines pages du privé apparaît désormais un message d’erreur bien encombrant....

Dans le cas réel ci-dessus, le message évoque la table spip_articles_lies : on va d’abord vérifier (en tant que rédacteur) l’existence et le contenu de cette table...

 Accéder aux tables

En tant que webmestre vous pouvez acceder à tout SPIP, donc en particulier à la visualisation des tables disponible par /ecrire/?exec=vertebres [2]. Sinon le plugin Adminer fait aussi le travail, et vous sera ensuite indispensable pour corriger l’incident.

Et donc.... vous cherchez vainement une table nommée spip_articles_lies (qui devrait se trouver indiquée juste en dessous- de la table spip_articles) ; attention a tenir compte eventuellement d’un prefix propre à votre jeu de tables SPIP !

Effectivement, ici SPIP n’est pas parvenu à créer la table nécessaire au plugin !

Pour corriger la situation, il suffit de récupérer sa définition SQL, en l’exportant depuis une installation réussie (en local par exemple) par exécution d’ Adminer, ou de phpMyAdmin, pour ré-importer l’instruction CREATE TABLE 'spip_articles_lies' .....(complète), en pensant à modifier éventuellement le préfixe du jeu de tables SPIP utilisé dans votre base de données...

Pour notre plugin A2A on doit faire passer la définition ci-dessous...

  1. -- Adminer 4.7.9 MySQL dump
  2. SET NAMES utf8;
  3. SET time_zone = '+00:00';
  4. SET foreign_key_checks = 0;
  5. SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
  6.  
  7. DROP TABLE IF EXISTS `spip_articles_lies`;
  8. CREATE TABLE `spip_articles_lies` (
  9.   `id_article` BIGINT(21) NOT NULL,
  10.   `id_article_lie` BIGINT(21) NOT NULL,
  11.   `rang` BIGINT(21) NOT NULL DEFAULT '0',
  12.   `type_liaison` VARCHAR(25) NOT NULL DEFAULT '',
  13.   PRIMARY KEY (`id_article`,`id_article_lie`,`type_liaison`)
  14. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Télécharger

Après ré-activation du plugin (contrôler la Configuration / Gestion des Plugins !),
la table est opérationnelle ; vous pouvez reliez vos articles !


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Il semble que cela arrive "assez souvent" chez OVH... Des créations de tables SQL ne sont pas exécutées, et certaines opérations avec Adminer sont refusées... ce serait un problème de cache..?
Il semble indispensable d’accéder au PhpMyAdmin par l’URL https://phpmyadmin.cluster015.hosting.ovh.net disponible dans votre compte OVH (voirhttps://digiactif.fr/trouver-url-co...) !

[2Pour trouver son affichage dans les menus SPIP,il faut aussi configurer vos Préférences personnelles dans votre page d’auteurs,pour activer le menu Développement !


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 18 février 2021, et actualisé en février 2021 .

Répondre à cet article