Exportar solo páginas y entradas con volcado mysql
¿Cómo exportar solo páginas y entradas usando un enfoque de base de datos a base de datos con mysql
? Más específicamente:
- qué tablas se deben seleccionar para el volcado (supongo que
wp-posts
ywp-post-meta
) - es seguro exportar solo algunas tablas (las que contienen datos de páginas/entradas) y no todas
(Mi objetivo es sincronizar el desarrollo con el sitio de producción, y como el sitio prod tiene muchas características añadidas post festum, mi elección es exportar solo páginas y entradas. La herramienta de exportación integrada de Wordpress combinada con los plugins de importación disponibles no me dio resultados útiles).

El contenido incluye el usuario autor y los comentarios (y probablemente más). Exportar solo una parte de la base de datos como método de exportación/importación no parece una idea muy robusta.
Las bases de datos son relativamente pequeñas, y casi no hay razón para no exportar/importar la base de datos completa en lugar de intentar hacer modificaciones.

Gracias por la respuesta. Pero el problema es que no me atrevo a sobrescribir, digamos, datos de producción de seguridad u otros plugins, contraseñas de otros usuarios y demás. Esa es la razón por la que busco una solución que solo afecte los datos de páginas y entradas.

Generalmente esto no es una buena idea. Consulta este diagrama de la base de datos de WordPress. Necesitas considerar:
- Publicaciones que tienen categorías o etiquetas (términos), sus relaciones, metadatos de términos y taxonomías
- Publicaciones que tienen autores (usuarios)
- Publicaciones que tienen comentarios
- Elementos que en realidad son publicaciones y que podrías no darte cuenta (ej. casi todo en WordPress es una publicación - muchos plugins almacenan sus datos como publicaciones, algunos ejemplos son Contact Form 7, grupos de campos de Advanced Custom Fields, y muchos más)
- Cualquier otra cosa que se haya modificado en tu instalación de desarrollo y que no esté sincronizada con el servidor en vivo (ej. ¿estás seguro de que no han cambiado registros en la tabla de opciones?)
En general, deberías tener una copia "en vivo" de tu base de datos y cualquier cambio que hagas en tu base de datos de desarrollo debería ser solo para propósitos de prueba, antes de replicar esos cambios en tu servidor en vivo. Hacer algo más arriesga una búsqueda larga y prolongada a través de todos tus datos para garantizar su integridad. Fusionar dos bases de datos nunca es divertido.
Sin conocer todos los detalles de tu situación, algunas opciones que potencialmente podrías tener son:
- Importar/exportar de WordPress (que dijiste que probaste, pero no está claro por qué no funcionó)
- Insertar manualmente las publicaciones que necesites (lo cual puede o no ser prohibitivo dependiendo del número de ellas)
- Agregar las publicaciones a una tabla nueva, luego escribir un script para recorrer los registros y ejecutar
wp_insert_post()
en cada uno - Obtener un volcado mysqldump de cada base de datos y hacer una comparación para determinar cuánto ha cambiado realmente en el sitio en vivo, y decidir si puedes simplemente sobrescribir la base de datos y configurar manualmente cualquier opción
Puede haber otras soluciones también, y la mejor dependerá de los detalles de tu situación. Con la información que tenemos hasta ahora, probablemente me inclinaría por la opción del script mencionada anteriormente.
EDITAR: Desde que se escribió originalmente esta respuesta, se ha lanzado Mergebot. No lo he usado, así que no puedo avalarlo, pero parece prometedor y el autor tiene un historial de crear buenos plugins.

Puedes utilizar la herramienta de Importar/Exportar de WordPress para exportar páginas y publicaciones desde tu sitio de desarrollo al sitio de producción. Ten en cuenta que necesitarás actualizar manualmente todas las URLs en el sitio de producción después de la importación (por ejemplo, cambiar dev.ejemplo.com a ejemplo.com).
Copiar toda la base de datos es riesgoso si tu sitio de producción tiene registros de clientes y pedidos. Estoy buscando sugerencias sobre cómo usar mysqldump para sincronizar los sitios de desarrollo y producción sin alterar los registros de pedidos de los clientes en el sitio de producción.
