[SPIP Zone] [Fusion de SPIP] Erreur avec des tables préfixées

Hello,

Je suis tombé sur un os en essayant de fusionner 2 sites, la vérification de la table spip_meta échouait systématiquement : « Impossible de vérifier la version de la base de données importée (table spip_meta) ».

Il s’avère que les 2 sites ont des tables préfixées, et dans ce cas la fusion est impossible.
C’est dû à la ligne suivante, présente plusieurs fois dans formulaires/fusion_spip.php et dans inc/fusion_spip :

sql_showtable(‹ spip_meta ›, false, $connect)

Plus spécifiquement le 2ème paramètre : c’est un booléen qui permet d’indiquer de « remplacer automatiquement « spip » par le vrai préfixe de table » : Là je ne m’explique par trop pourquoi, mais sa valeur par défaut est à « false » dans la fonction, ce qui échoue forcément sur les tables préfixées. Ça m’étonne car à priori toutes les autres fonctions de l’API SQL marchent avec les tables préfixées sans qu’on ait à le préciser explicitement dans les paramètres…

En tout cas pour en revenir au plugin, je suppose que cette valeur a été reprise telle quelle.
Donc en passant la valeur à « true » dans tous les appels de cette fonction, là ça marche.

Voilà, avant de commiter je voulais être sûr qu’il n’y ait pas de contre-indication.

Le 09/07/2018 à 22:48, Charles Razack a écrit :

Hello,

Je suis tombé sur un os en essayant de fusionner 2 sites, la vérification de la table spip_meta échouait systématiquement : « Impossible de vérifier la version de la base de données importée (table spip_meta) ».

Il s'avère que les 2 sites ont des tables préfixées, et dans ce cas la fusion est impossible.

Oui, ça a été signalé sur le forum du plugin, mais j'ai jamais eu/pris le temps de creuser.

Voilà, avant de commiter je voulais être sûr qu'il n'y ait pas de contre-indication.

Aucune.
Si ça marche mieux, go.

Et merci du coup :slight_smile:

--
nicod_

Voilà c'est commité.

Un point à détailler dans la doc je pense : quand on déclare une nouvelle base qui possède des tables préfixées, l'interface ne propose pas d'indiquer le préfixe, Il faut éditer après coup le fichier créé dans /config.

En tout cas merci pour le plugin, super pratique pour convertir une base d'un format à un autre, ça nous a tiré une belle épine du pied.

Le 10/07/2018 à 00:49, nicod_ a écrit :

Si ça marche mieux, go.

Et merci du coup :slight_smile: