Migration de votre base de données WordPress Introduction à la base de données

Pour ce qui est de travailler avec des projets basés sur WordPress, l'un des aspects les plus frustrants ou fastidieux du déploiement consiste en réalité à synchroniser les bases de données de vos environnements..

Bien sûr, il y a quelque chose à dire sur l'utilisation de données de test en développement, de données d'utilisateur dans la mise en scène et de données réelles en production, mais rien de tel qu'une solution miracle, n'est-ce pas? Cela veut dire que parfois les données de test vont fonctionner; d'autres fois, ce ne sera pas.

Par exemple, supposons que vous héritez d'un projet pour lequel vous devez extraire une base de données, puis commencer à utiliser les données existantes. Ou disons que vous devez migrer un site ou une application entière d'un serveur à un autre.

Dans de tels cas, les données de test n’aident pas beaucoup. Au lieu de cela, vous avez besoin d'un outil pour cela. Et bien sûr, WordPress Importer est un outil efficace pour les migrations de base. Exécuter des exportations et des importations SQL est acceptable si vous êtes à l'aise avec les bases de données et que vous utilisez SQL lui-même..

Mais qu'en est-il de ceux qui sont quelque part entre?


Faciliter les migrations

La vérité est que, s’agissant des migrations de bases de données WordPress, c’est un sac mélangé, car nous sommes nombreux à avoir des niveaux de compétences qui varient en fonction de la partie de la pile avec laquelle nous travaillons le plus..

Je veux dire par là:

  • Ceux qui sont beaucoup plus à l'aise avec le travail en amont seront probablement moins familiers avec la couche application et / ou la couche base de données
  • Ceux qui ont l'habitude de travailler avec la couche application peuvent être tout aussi bons avec le front-end mais pas avec la base de données (ou vice versa)
  • Ceux qui vivent dans la base de données peuvent ne pas être à l'aise avec les couches ci-dessus

Cela ne veut pas dire qu'il n'y a pas de développeurs full stack. Évidemment, il y en a; cependant, tout le monde n'est pas dans cette position.

Ainsi, s’agissant de la migration de bases de données WordPress, certaines ont beaucoup plus de difficultés que d’autres. Alternativement, malgré le niveau de confort avec SQL, certains peuvent être à la recherche d'un outil simplement pour aider à rendre le processus plus facile..

Dans cette série, nous allons jeter un oeil à un utilitaire qui ne juste ça, mais avant de faire ça, passons rapidement à la base de données WordPress pour nous assurer que nous sommes tous sur la même page.


La base de données WordPress

Lorsqu'il s'agit de discuter de la base de données WordPress, toute une série d'articles peut être écrite sur chaque table, chaque colonne, le schéma, comment écrire des requêtes optimales, etc..

Ce n'est pas la série pour ça.

Au lieu de cela, nous allons faire deux choses dans cet article:

  1. Nous allons nous assurer que nous avons tous une compréhension conceptuelle claire de ce qu'est une base de données afin de savoir comment l'imaginer dans notre esprit.
  2. Nous allons jeter un coup d'oeil à chacun table dans la base de données WordPress afin de comprendre le type de données que chaque table contient

En fin de compte, cela devrait aider à expliquer ou à démystifier une partie du travail sous-jacent pour ceux qui passent plus de temps au front-end, et aider ceux qui passent plus de temps à la couche application utilisant l'API WordPress à comprendre quelles fonctions correspondent à quelles tables. (ce qui peut finalement conduire à écrire un meilleur code).

Qu'est-ce qu'une base de données??

De manière générale, je pense que la majorité des lecteurs de Wptuts + savent ce qu’est une base de données..

Directement de Wikipedia:

Une base de données est une collection organisée de données. Les données sont généralement organisées pour modéliser les aspects pertinents de la réalité (par exemple, la disponibilité de chambres dans des hôtels), de manière à prendre en charge les processus nécessitant cette information (par exemple, trouver un hôtel avec des postes vacants)..

C'est une définition juste, mais je ne pense pas que cela illustre si bien la base de données WordPress ou des applications Web similaires - c'est un peu trop général. Donc, à partir de là, créons notre propre définition de travail que nous pourrons utiliser dans le reste de la série.


Comment les bases de données sont normalement représentées.

Essayons ça:

Une base de données est composée d'au moins une table. Une table est composée de lignes et de colonnes, chacune d'entre elles stockant des informations uniques. Chaque ligne est appelée un enregistrement. Plusieurs tables peuvent exister dans une base de données, et parfois des tables peuvent être liées les unes aux autres.

La partie la plus déroutante de ce que j'ai partagé ci-dessus est peut-être que les tableaux peuvent être liés les uns aux autres. Nous reviendrons sur cette idée avant la fin de l'article, mais abordons d'abord la base de données WordPress..

Le schéma de base de données WordPress

En bref, la base de données WordPress comprend onze tables (à moins que vous n'utilisiez Multisite, mais cela sort du cadre de cette série).

Désormais, chaque table a également son propre ensemble de colonnes représentant une variété d’informations stockées dans la table. Par exemple, le wp_posts la table a une colonne appelée Publier un contenu qui représente le contenu réel qui est stocké dans un post.

Les tableaux et leurs descriptions sont les suivants:

  • wp_users contient la liste des utilisateurs enregistrés avec l'installation de WordPress. Cela inclut des éléments tels que l'adresse électronique, le mot de passe, le nom d'affichage, etc..
  • wp_usermeta contient des informations relatives à chaque utilisateur. C'est ici que vous pouvez stocker des informations supplémentaires sur chaque utilisateur..
  • wp_posts est l'endroit où toutes les informations postales sont stockées. En réalité, peu importe qu'il s'agisse d'un article, d'une page ou d'un type d'article personnalisé: toutes les informations telles que le titre, le contenu, etc. sont stockées ici..
  • wp_postmeta est l'endroit où les métadonnées de chaque message sont stockées. Ce tableau vous permet de sauvegarder et de récupérer plus d’informations sur chaque message..
  • wp_comments sont les endroits où sont stockés les commentaires pour chaque article (encore une fois, quel que soit le type).
  • wp_commentmeta comme les autres "méta" tables vous permet de stocker plus d'informations sur chaque commentaire que ce qui est déjà enregistré dans la table de commentaires.
  • wp_terms est l'endroit où les catégories et les balises sont stockées. Étant donné que la relation entre les publications, les pages, les types de publication personnalisés, les catégories et les balises peut devenir un peu plus compliquée, il existe quelques tableaux supplémentaires..
  • wp_term_taxonomy fournit une description de la catégorie ou de la balise (ou même du lien si vous les utilisez encore) dans le wp_terms table.
  • wp_term_relationship stocke les relations d'une publication donnée dans sa catégorie (ou ses catégories) et / ou son (ses) tag (s).
  • wp_options sont où tous les paramètres sont conservés - cela inclut ceux qui sont livrés et qui sont configurés avec WordPress et ceux qui sont créés à l'aide de l'API Paramètres.
  • wp_links est une table qui existe toujours dans la base de données WordPress malgré le fait qu’il n’existe plus d’option d’interface utilisateur pour les données. Si vous avez déjà utilisé cette fonctionnalité, vous connaissez bien les liens et leur fonctionnement, et voici le tableau dans lequel ils sont stockés..

Et c'est tout ce qu'il y a dans la base de données WordPress. C'est relativement simple et simple, à droite?

Les publications sont conservées dans la table des publications, les commentaires dans la table des commentaires, les utilisateurs dans la table des utilisateurs, etc. Bien sûr, il y a quelques nuances subtiles (telles que le fait que les pages sont stockées dans la table Posts); cependant, c'est un schéma relativement simple à suivre.

C'est une bonne chose.

Aussi, rappelez-vous comment nous avons mentionné plus tôt que certaines tables peuvent se référer les unes aux autres? Un bon exemple de ceci serait la table de commentaires et la table de messages. Étant donné que les commentaires sont laissés sur une publication spécifique, un commentaire doit savoir à quel identifiant de publication il est associé pour que, lorsqu'une publication est chargée, les commentaires associés à l'ID de cette publication puissent être récupérés..


Une base de données et ses tables.

Quoi qu'il en soit, ceci est plus détaillé que ce que nous allons approfondir dans cette série, mais j'espère que cela suffira pour vous donner une idée. Si vous souhaitez en savoir plus sur les informations techniques, les relations entre les tables, les colonnes, etc., consultez l'article de Codex WordPress dans la description de la base de données..


Conclusion

À ce stade, nous avons couvert tout ce que nous devons couvrir dans notre introduction à la base de données WordPress. J'espère que cela aidera à lever le voile sur tout ce qui se passe sous le capot chaque fois que vous enregistrez des informations dans WordPress, mais maintenant que nous en avons déjà parlé, il est temps de regarder un outil qui facilite extrêmement le travail de migration de données..

Et étant donné que nous comprenons maintenant comment la base de données est organisée, nous devrions également comprendre comment fonctionnent les migrations..