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

One 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

    Reply to this message

Add a comment

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom