Skip to content

Documentación de la migración de WordPress a Strapi

Explicación y desarrollo sobre que usamos para exportar las tablas de WordPress a Strapi, comentando las herramientas utilizadas para sacar los datos y la función del script que usamos para ello.

📰 Contexto

La base de datos en WordPress va quedando obsoleta a medida que se van almacenando más y más datos. Esto hace que se vuelva lento y complejo encontrar las tablas específicas, además el formato de exportación de WordPress no compila con el formato de Strapi, esto dificulta más el migrar la base de datos sin que se corrompan datos en el proceso.

Como medida para poder lograr una migración limpia y ordenada se ha creado un archivo python para poder hacer la conversión del formato de WordPress a Strapi.

👾 Scripts

Con Python desarrollamos scripts que nos ayudan a generar la plantilla .json adecuada para poder importar los campos recogidos de la query.

Para poder crear una consulta que seleccione y agrupe en una tabla únicamente los datos requeridos por el usuario utilizamos el script post_select_query_creator.py.

Como se ha mencionado anteriormente, el formato de exportación de WordPress no es compatible con el formato que utiliza Strapi. Para poder importar las tablas usamos el script nombre-tabla_json_formatter.py.

❓ Query

Los datos de una entrada de la tabla wp_posts se encuentran repartidas entre dos tablas: wp_posts y wp_postmeta.

Para poder crear una query que seleccione y agrupe en una tabla únicamente los datos requeridos por el usuario se puede utilizar el script post_select_query_creator.py

Para utilizar el script se deben seguir los siguientes pasos:

  1. Ejecuta el archivo post_select_query_creator.py.
  2. Escribe el tipo de post (post_type) que quieres mostrar en la tabla.
  3. Escribe las columnas de la tabla wp_posts que deseas seleccionar separadas por comas.
  4. Escribe nuevamente los nuevos nombres separados por comas que se asignarán a las respectivas columnas para que coincidan con la nueva tabla.
  5. Escribe los post_key (tipos de valor en postmeta) separadas también por comas de la tabla wp_postmeta, ya que serán seleccionadas como columnas para nuestra tabla.
  6. Vuelve a escribir los nuevos nombres separados por comas que se asignarán a las respectivas columnas para que coincidan con la nueva tabla.
  7. Por último escribe el nombre en donde se guardará la consulta, preferiblemente en formato .sql para evitar confusiones.

Ejemplo:

>> Enter the post type: blog
>> Enter the columns separated by comma: post_title, post_name, post_date
>> Enter the new names separated by comma: name, slug, date
>> Enter the meta columns separated by comma: contenido
>> Enter the new names for meta columns separated by comma: content
>> Enter the file name: blogs_select_query_prueba.sql

⏩Conversor a Strapi

Este script en Python tiene como objetivo procesar el archivo que hayas llamado el export .json de la tabla de WordPress , extrayendo y modificando ciertos campos como title, date, slug y content (esto no aplica para todas las tablas). Los datos procesados se reorganizan en una estructura diferente y se guardan en un nuevo archivo con el nombre que tú elijas.

Al final, la información transformada está organizada en un formato específico, listo para ser importado a Strapi.