web-dev-qa-db-fra.com

migrer les commentaires de l'ancienne base de données vers la nouvelle base de données

J'ai récemment créé un nouveau site WP avec le même contenu que mon ancien site WP.

Existe-t-il un moyen de migrer les commentaires de mon ancienne base de données vers une nouvelle base de données? J'ai essayé d'importer l'ancienne table wp_comments dans ma nouvelle base de données via phpmysql. Ils importaient et apparaissaient dans mon administrateur wp, mais ils n'étaient pas associés aux publications et catégories correctes. En regardant le fichier .sql, je suppose que cela n’a pas fonctionné car les anciens commentaires ont tous un comment_post_IDs différent de mon nouveau db.

Existe-t-il un moyen de contourner ce problème ou un autre moyen de migrer les anciens commentaires?

2
roybatty

Vous pouvez exporter tous les messages de votre ancien site, y compris les commentaires. Ensuite, importez-les dans votre nouveau site et supprimez les publications que vous ne voulez pas. Cela préservera tous les liens entre les messages et les commentaires.

2
jacobdubail

Je vois au moins 3 solutions:

  • installez l'ancienne version de wordpress sur une machine de développement, importez votre base de données et modifiez les paramètres de wp-config pour utiliser la base de données que vous avez importée; Puis exportez tout ce que vous voulez.

  • Si vous avez sauvegardé les anciens identifiants dans wp_postmeta, vous pouvez créer un script faisant ceci:

a) select comment_post_ID from wp_comments;

b) select ID from wp_posts where old_id = id sélectionné en a);

c) update wp_comments and set comment_post_ID = id sélectionné en b); Je pense qu'il est possible de faire cela à partir d'une seule requête MySQL;

S'il n'y a pas trop de publications, vous pouvez mettre à jour manuellement wp_comments (importer votre base de données et utiliser PhpMyAdmin, voir quel est l'ancien identifiant de chaque publication, voir quel est le nouvel identifiant dans votre nouvelle installation de wordpress et exécuter cette requête UPDATE wp_comments SET comment_post_ID = new_id WHERE comment_post_ID = old_id;)

1
popas