[SPIP Zone] erreur sql après maj plugin massicot

Bonjour,
Je viens de mettre à jour pas mal de plugins et j'ai cette erreur en page d'accueil (SPIP 3.1.1 [23149]). Cache vidé.

Erreur SQL 1054
Unknown column 'L.role' in 'where clause'
SELECT traitements FROM spip_massicotages as M INNER JOIN spip_massicotages_liens as L ON M.id_massicotage=L.id_massicotage WHERE L.objet='article' AND L.id_objet=7592 AND L.role=''

...plugins/auto/massicot/v0.6.2/massicot_fonctions.php
Je pense qu'auparavant j'étais en version 4.5 de Massicot...

Par avance merci,
Jacques

Le 09/09/2016 à 06:52, Jacques a écrit :

Je viens de mettre à jour pas mal de plugins et j'ai cette erreur en
page d'accueil (SPIP 3.1.1 [23149]). Cache vidé.

Erreur SQL 1054
Unknown column 'L.role' in 'where clause'
SELECT traitements FROM spip_massicotages as M INNER JOIN
spip_massicotages_liens as L ON M.id_massicotage=L.id_massicotage WHERE
L.objet='article' AND L.id_objet=7592 AND L.role=''

On dirait qu'il manque le plugin role, ou plutôt role_document.

--
nicod_

Le vendredi 09 septembre 2016 à 12:29 +0200, nicod_ a écrit :

Le 09/09/2016 à 06:52, Jacques a écrit :
> Je viens de mettre à jour pas mal de plugins et j'ai cette erreur en
> page d'accueil (SPIP 3.1.1 [23149]). Cache vidé.
>
> Erreur SQL 1054
> Unknown column 'L.role' in 'where clause'
> SELECT traitements FROM spip_massicotages as M INNER JOIN
> spip_massicotages_liens as L ON M.id_massicotage=L.id_massicotage WHERE
> L.objet='article' AND L.id_objet=7592 AND L.role=''

On dirait qu'il manque le plugin role, ou plutôt role_document.

Salut,

As tu tenté de passer par maintenance -> maintenance technique ->
réparer la base? cela peut être utile si il y a des oublis dans les
fonctions de maj de structure des tables dans les plugins...

Yop !

Le 2016-09-09 13:45, Pierre a écrit :

Le vendredi 09 septembre 2016 à 12:29 +0200, nicod_ a écrit :

Le 09/09/2016 à 06:52, Jacques a écrit :
> Je viens de mettre à jour pas mal de plugins et j'ai cette erreur en
> page d'accueil (SPIP 3.1.1 [23149]). Cache vidé.
>
> Erreur SQL 1054
> Unknown column 'L.role' in 'where clause'
> SELECT traitements FROM spip_massicotages as M INNER JOIN
> spip_massicotages_liens as L ON M.id_massicotage=L.id_massicotage WHERE
> L.objet='article' AND L.id_objet=7592 AND L.role=''

On dirait qu'il manque le plugin role, ou plutôt role_document.

Non ça n'est pas ça, le plugin utilise une colonne role sur la table des liens, même sans le plugin rôle. Ça assure la compatibilité avec « Rôles » mais c'est aussi utile sans… Ce qui est bizarre c'est que cette colonne a été ajoutée dans la version 0.5.0, elle devrait être ajouté automatiquement lors de la mise à jour. Et ça semble fonctionner dans la plupart des cas puisque personne ne s'est plaint à l'époque de la modif (il y a 4 mois)…

Salut,

As tu tenté de passer par maintenance -> maintenance technique ->
réparer la base? cela peut être utile si il y a des oublis dans les
fonctions de maj de structure des tables dans les plugins...

Ou alors, si la réparation automatique ne fonctionne pas, tu peux aussi essayer de créer la colonne à la main dans la DB. Il faut créer un champ de type "VARCHAR(30) DEFAULT '' NOT NULL"…

--
Michel

Michel Bystranowski a écrit le 09/09/2016 à 14:15 :

Yop !

Le 2016-09-09 13:45, Pierre a écrit :

Le vendredi 09 septembre 2016 à 12:29 +0200, nicod_ a écrit :

Le 09/09/2016 à 06:52, Jacques a écrit :
> Je viens de mettre à jour pas mal de plugins et j'ai cette erreur en
> page d'accueil (SPIP 3.1.1 [23149]). Cache vidé.
>
> Erreur SQL 1054
> Unknown column 'L.role' in 'where clause'
> SELECT traitements FROM spip_massicotages as M INNER JOIN
> spip_massicotages_liens as L ON M.id_massicotage=L.id_massicotage
WHERE
> L.objet='article' AND L.id_objet=7592 AND L.role=''

On dirait qu'il manque le plugin role, ou plutôt role_document.

Non ça n'est pas ça, le plugin utilise une colonne role sur la table des
liens, même sans le plugin rôle. Ça assure la compatibilité avec « Rôles
» mais c'est aussi utile sans… Ce qui est bizarre c'est que cette
colonne a été ajoutée dans la version 0.5.0, elle devrait être ajouté
automatiquement lors de la mise à jour. Et ça semble fonctionner dans la
plupart des cas puisque personne ne s'est plaint à l'époque de la modif
(il y a 4 mois)…

Est-ce que c'est Connexion · GitLab qui aurait cassé quelque chose ?

--
RealET

Bonjour,
Effectivement je mets à jour depuis la version 0.4.5 (de mémoire) donc je n’avais pas la colonne role.

Je suis bien embêté…
J’ai essayé de réparer la base. Réparation OK mais ne règle pas le problème.

J’ai essayé de créer la colonne à la main d’abord avec adminer (bloqué) puis avec phpmyadmin où j’ai eu le message suivant:

cleardot.gif

Bonjour,

    Effectivement je mets à jour depuis la version 0.4.5 (de mémoire)
    donc je n'avais pas la colonne role.

    

    Je suis bien embêté...

    J'ai essayé de réparer la base. Réparation OK mais ne règle pas le
    problème.

    

    J'ai essayé de créer la colonne à la main d'abord avec adminer
    (bloqué) puis avec phpmyadmin où j'ai eu le message suivant:

    
      

ALTER TABLE spip_massicotages_liens ADD role VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER vu;


      

 **MySQL a répondu:** [<img src="/uploads/spip/original/1X/2daeaa8b5f19f0bc209d976c02bd6acb51b00b0a.gif" title="Documentation" alt="Documentation" class="icon
            ic_b_help" data-inline="" data-name="dot.gif">](https://phpmyadmin.ovh.net/url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Ferror-messages-server.html)
      

      
        #1142 - ALTER command denied to user '(mon user)' for table
        'spip_massicotages_liens' 

        J'ai essayé de désactiver le plugin: accueil et page d'accueil
        du site à blanc !!

        J'avoue ne pas avoir vidé le cache... j'ai réactivé le plugin et
        c'est revenu.

    Je ne sais pas si c'est r99402 qui empêche la maj... ou alors il
    faudrait que je mette une version antérieure à la main...

Ca m’étonnerais beaucoup que la r99402 soit la source du problème, le code affecté ne concerne pas les mises à jour ni les colonnes dans la DB. Dans le pire des cas ça pourrait affecter l’affichage des images recadrées, même si je ne vois pas bien comment…

Si tu n’arrives pas à résoudre le problème via adminer, je chercherais plutôt un souci de configuration de l’hébergement. Vu le message d’erreur que tu reçois, il semblerait que tu n’as pas les droits d’accès suffisants sur le serveur MySQL pour pouvoir ajouter une colonne à une table. Du coup il est tout à fait possible qu’au moment de la mise à jour de plugin, SPIP a tenté de créer la colonne sans réussir et a mangé l’erreur sans rien dire…