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 (et réciproque)

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

Discussion

Aucune discussion

Ajouter un commentaire

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

Dernière modification de cette page le 18 mars 2017