De SQLite a MySQL & Inversement grâce au plugin Fusion

Passer de SQLite a MySQL et inversement grâce à Fusion de SPIP tant pour un site autonome que pour une mutualisation.

Site autonome

Si vous avez créé votre site avec une base de données en sqlite, et que pour diverses raisons vous voulez le passer en mysql, voici comment procéder :

  1. dans le répertoire /config, supprimer le fichier connect.php,
  2. vider complètement le contenu de /tmp (pour rebooter Spip)
  3. appeler l’url /ecrire pour relancer l’installation, choisir cette fois une base mysql,
  4. une fois le site installé en mysql, aller dans « Maintenance » / « Maintenance technique », et suivre les 3 étapes de « Déclarer une autre base » : choisir Sqlite3, sur l’écran suivant choisir la base sqlite existante, et valider jusqu’à « La nouvelle base a bien été déclarée ... » (cf paragraphe « 1 - Déclarer une base externe » ),
  5. lancer la fusion en choisissant comme source la base sqlite,

Hébergement mutualisé

Si vous avez créé une mutualisation et qu’un de vos sites, avec une base de données en sqlite, doit être converti en mysql, la méthode décrite le permet facilement :

  1. Sauvegardez le contenu de la base du site en SQLITE
  2. Récupérez cette sauvegarde
  3. Créez un site spip SQLITE a la racine de votre mutualisation, dans la même version que le site devant être migré.
  4. Transférez votre sauvegarde SQLITE sur ce site
  5. Installez votre SPIP avec cette sauvegarde.

Ça fonctionne ? Cool. Il suffit par la suite de reprendre la procédure classique.

  1. dans le répertoire /config, supprimez le fichier connect.php,
  2. videz complètement le contenu de /tmp (pour rebooter Spip)
  3. appelez l’url /ecrire pour relancer l’installation, choisissez cette fois une base mysql,
  4. une fois le site installé en mysql, allez dans « Maintenance » / « Maintenance technique », et suivez les 3 étapes de « Déclarer une autre base » : choisissez Sqlite3, sur l’écran suivant choisissez la base sqlite existante, et validez jusqu’à « La nouvelle base a bien été déclarée ... » (cf paragraphe « 1 - Déclarer une base externe » ),
  5. lancez la fusion en choisissant comme source la base sqlite,

Si vous avez cette erreur

Le site hôte et le site source ne sont pas dans la même version de base de données :
- hôte est en version 19268
- source est en version 

alors il vous faudra commenter la ligne 64 de /fusion_spip/formulaires/fusion_spip.php
soit :

// $erreurs['versions_bases'] = _T('fusion_spip:erreur_versions', array('vhote'=>$spip_version_base, 'vsource'=>$vsource['valeur']));
  1. Ensuite il vous faudra de nouveau reconfigurer votre SPIP, Identité du site, etc...

Remarques

-  Cette astuce marche aussi dans l’autre sens : passer de Mysql à sqlite, mais le besoin a été moins souvent exprimé.
-  Autre article, lisible sur le Carnet : Passage de SQLite à MySQL

Cet article a vu le jour parce-que je ne suis pas doué malgré l’aide de
Gilles Vincent, Suske, nicod_.

Discussion

Une discussion

  • spipfactory

    Je valide le plugin pour spip4 ,
    après avoir changé la borne supérieur je viens de réalisé l’opération pour un site
    le 12/10/2021

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom