wp-cli : importer et exporter les utilisateurs WP

Voici une méthode simple pour exporter tous les utilisateurs d’une base de données WordPress, pour les réimporter sur un autre site, à l’aide de l’excellent wp-cli.

Nous ferons référence à la base de données source en tant que source-db et à la base de données cible en tant que target-db et je supposerai que vous avez accès aux deux instances WordPress via wp-cli.

Étape 1 : exporter les utilisateurs WordPress

Cette étape fonctionnera avec la base de données source-db:

wp db export --tables = $(wp db tables 'wp_*_users') users.sqlCode language: JavaScript (javascript)
  • notez l’astérisque dans le nom de la table – utilisez-le pour éviter de taper le nom exact de la table pour votre base de données WordPress spécifique
  • notez le nom du fichier exporté, users.sql – cela permet d’identifier clairement le contenu de ce fichier.

Étape 2 : exporter la méta utilisateur WordPress

Cette étape fonctionnera avec la base source-db. Comme ci-dessus, notez le caractère générique et le nom de fichier:

wp db export --tables = $(wp db tables 'wp_*_usermeta') usermeta.sqlCode language: JavaScript (javascript)

Étape 3 : sauvegarde facultative des utilisateurs et usermeta

Cette étape fonctionnera avec la base target-db. Il s’agit d’une sauvegarde facultative des utilisateurs et des tables usermeta avant d’importer les nouvelles données:

  • répétez l’étape 1 (mais en travaillant avec target-db)
  • nommez le fichier backup-users.sql
  • répétez l’étape 2 (mais en travaillant avec target-db)
  • nommez le fichier backup-usermeta.sql

Cela nous donne donc:

wp db export --tables = $(wp db tables 'wp_*_users') backup-users.sql
wp db export --tables = $(wp db tables 'wp_*_usermeta') backup-usermeta.sqlCode language: JavaScript (javascript)

Étape 4 : déplacez les fichiers exportés vers un emplacement accessible pour l’importation

Si vous avez un accès graphique aux deux systèmes de fichiers, vous pouvez simplement copier/télécharger users.sql et usermeta.sql à partir de l’instance source et les coller dans l’instance cible.

J’ai utilisé rsync pour copier d’un serveur distant vers un serveur de développement local. Je travaillais dans l’instance cible de WordPress via la ligne de commande:

rsync -azP user@source:path/to/file/users.sql .
rsync azP user@source:path/to/file/usermeta.sql .

Notez le point (.) à la fin, cela signifie simplement que le chemin de destination est le répertoire courant. Vous pouvez indiquer le chemin relatif si nécessaire.

Étape 5 : importer des utilisateurs WordPress

Cette étape fonctionnera avec la base target-db :

 wp db import users.sqlCode language: JavaScript (javascript)

Étape 6 : importer la méta utilisateur WordPress

Cette étape fonctionnera avec la base target-db :

wp db import usermeta.sqlCode language: JavaScript (javascript)

Étape 7 : nettoyage

Il s’agit d’une étape facultative pour supprimer les fichiers exportés, mais je vous le recommande vivement, surtout si vous avez les fichiers users.sql et usermeta.sql dans un dossier public:

rm users.sql usermeta.sql
rm backup-users.sql backup-usermeta.sqlCode language: CSS (css)

Répétez cette étape pour chaque instance WordPress.

Conclusion

L’utilisation de WP CLI en fait un processus très simple qui ne prend que quelques minutes. En plus de cela, cela évite d’utiliser un autre plugin pour effectuer une tâche simple.

Si vous souhaitez obtenir de l’aide pour ce défi ou tout autre défi lié à WordPress, contactez-nous.

Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

Articles conseillés :

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

Opinions