Migration avec Updraft Plus

Share

Problématique

Pour réussir une migration de SOURCE vers DESTINATION avec Updraft Plus, il faut tenir compte de deux extensions problématiques par la taille de leurs tables de données :

  • Ajax Search Pro
  • MailPoet

Ajax Search Pro

C’est la table d’indexation qui pose problème. Comme celle-ci peut toujours être re-générée sur DESTINATION (c’est long, mais c’est automatique), le plus simple est de l’effacer sur SOURCE avant de créer la sauvegarde. On peut aussi ignorer l’état de la table d’index lors de la création de la sauvegarde.

MailPoet

MailPoet enregistre des statistiques dans des tables qui ne font que grandir. Quatre tables sont concernées

  • mailpoet_statistics_clicks
  • mailpoet_statistics_forms (petite table, mais traitée pareil dans la séquence pour simplifier)
  • mailpoet_statistics_newsletters
  • mailpoet_statistics_opens

Il est impossible en pratique d’utiliser Updraft Plus pour restaurer l’état si ces tables font partie de la sauvegarde. Il faut donc soit effacer ces tables avant de faire la sauvegarde, soit les ignorer lors de la création de la sauvegarde.

Scénario de migration d’un site de PRODUCTION vers un site de TEST

On veut créer une copie de PRODUCTION sur TEST en vue de faire une expérimentation que l’on appliquera (ou pas) à SOURCE, sans migration inverse. Pendant les expérimentations sur TEST, les statistiques MailPoet n’ont pas d’utilité. Il n’est donc pas nécessaire de les transférer.

Procédure de migration PRODUCTION vers TEST :

  1. Faire une sauvegarde UpdraftPlus de PRODUCTION en décochant les tables problématiques (Ajax Pro et MailPoet) en cliquant sur « … » à la fin de « Inclure votre base de données dans la sauvegarde (…) » pour ouvrir la liste des tables.
  2. Téléverser les fichiers de sauvegarde vers TEST.
    Il y a différentes manières de procéder, voir documentation Updraft. Si téléversement par FTP (dans wp-content/updraft de TEST), faire attention de « Scanner le dossier local pour rechercher de nouveaux lots de sauvegarde ».
  3. Importer la composante Téléversements de la sauvegarde
  4. Importer les composantes Extensions et Thèmes de la sauvegarde
  5. Importer la composante Base de données de la sauvegarde (les tables problématiques étant vides, l’importation s’effectue normalement)

Scénario de migration d’un site de PRODUCTION vers un site de DÉVELOPPEMENT

On veut créer une copie du site sur DÉVELOPPEMENT en vue de faire des modifications substantielles du site, que l’on va ensuite ré-installer à la place du site PRODUCTION.

Pendant le développement sur DÉVELOPPEMENT, il faut appliquer manuellement toute modification effectuée sur PRODUCTION (nouveaux articles, documents, FAQs…) car c’est l’état de DÉVELOPPEMENT qui prendra la relève lors de la migration inverse.

Il est trop problématique de sauvegarder et re-installer les statistiques MailPoet. On y fait donc une croix dessus dans ce scenario.

Les informations de MailPoet n’ont pas d’utilité sur DÉVELOPPEMENT. Il n’est donc pas nécessaire de les transférer. La procédure de copie de l’état de PRODUCTION vers DÉVELOPPEMENT est donc identique à celle de PRODUCTION vers TEST.

Mais MailPoet peut continuer de fonctionner sur PRODUCTION et de nouveaux abonnés peuvent s’y inscrire. Il ne faut pas perdre les liste d’abonnés. On doit donc sauvegarder ces listes sur PRODUCTION avant de faire la migration inverse. On peut par la même occasion sauvegarder les modèles de courriels de façon à ne pas avoir à les re-créer après la migration inverse.

Procédure de migration PRODUCTION vers DÉVELOPPEMENT :

  1. Sur PRODUCTION :
    • Faire une sauvegarde UpdraftPlus de PRODUCTION en décochant les tables problématiques (Ajax Pro et MailPoet) en cliquant sur « … » à la fin de « Inclure votre base de données dans la sauvegarde (…) » pour ouvrir la liste des tables.
  2. Téléverser les fichiers de sauvegarde vers DÉVELOPPEMENT.
    Il y a différentes manières de procéder, voir documentation Updraft. Si téléversement par FTP (dans wp-content/updraft de DÉVELOPPEMENT), faire attention de « Scanner le dossier local pour rechercher de nouveaux lots de sauvegarde ».
  3. Sur DÉVELOPPEMENT
    • Importer la composante Téléversements de la sauvegarde
    • Importer les composantes Extensions et Thèmes de la sauvegarde
    • Importer la composante Base de données de la sauvegarde (les tables problématiques étant vides, l’importation s’effectue normalement)

Avant la migration inverse DÉVELOPPEMENT vers PRODUCTION :

Informations MailPoet à noter ou à exporter de SOURCE avant migration inverse :

  • Clé d’activation de MailPoet
  • Les listes d’abonnés :
    • Bulletin d’information hebdomadaire
    • Bulletin d’information mensuel
    • Notification immédiate
  • Les modèles JSON des courriels envoyés à ces listes
  1. Pour chaque liste d’abonnés on crée une liste d’exportation pour créer un CSV.
  2. La liste d’exportation est initialisée en filtrant « abonnés » sur la liste d’abonnés. La liste d’exportation ne contiendra que des vrais abonnés au service d’information, mais c’est un sur-ensemble des abonnés de la liste concernée (il peut y avoir des personnes qui se sont enlevées de la liste).
  3. Pour chaque courriel de notification d’articles, on exporte un modèle JSON

Procédure de migration DÉVELOPPEMENT vers PRODUCTION :

  1. Sur DÉVELOPPEMENT :
    • Désactiver MailPoet,
    • Effacer toutes les tables de MailPoet utilisant Adminer.
    • Effacer la table d’indexation d’Ajax Pro.
    • Faire une sauvegarde UpdraftPlus
  2. Téléverser les fichiers de sauvegarde vers PRODUCTION.
    Il y a différentes manières de procéder, voir documentation Updraft. Si téléversement par FTP (dans wp-content/updraft de PRODUCTION), faire attention de « Scanner le dossier local pour recherche de nouveaux lots de sauvegarde ».
  3. Sur PRODUCTION :
    • Importer la composante Téléversements de la sauvegarde
    • Importer les composantes Extensions et Thèmes de la sauvegarde
    • Importer la composante Base de données de la sauvegarde (les tables problématiques étant vides, l’importation s’effectue normalement).
    • Ré-activer MailPoet, et re-importer ses données :
      1. Créer les listes principales, puis importer les CSV exportés de PRODUCTION avant la migration
      2. Créer les différentes « Notifications d’article » et importer les modèles JSON correspondants. Enregistrer sans activer pour l’instant.
      3. Faire un « Newsletter » spécial d’avertissement de la migration, avertissant : de la perte des anciens désabonnements des listes et l’envoyer aux 3 listes ; du fait que les 1ers bulletins hebdo et mensuel peuvent contenir des informations déjà diffusés avant la migration
      4. Activer les 3 « Notifications d’article »