>

Cómo sincronizar bases de datos de WordPress en desarrollo y producción

Fernan Díez     Colaboraciones    29/09/2017

Cómo sincronizar bases de datos de WordPress en desarrollo y producción

Cuando trabajamos en el desarrollo de temas o plugins para un proyecto web creado con WordPress desplegar las actualizaciones de código puede ser todo un reto si dependemos de cambios realizados en la base de datos.

Es relativamente sencillo hacer un seguimiento del código a través de sistemas de control de versiones, pero no sucede lo mismo cuando hay implicaciones en base de datos. En este artículo trataremos de exponer diferentes soluciones que nos ayudarán a sincronizar nuestras bases de datos en entornos de desarrollo, staging y producción.

Como sincronizar bases de datos de WordPress en desarrollo y produccion

Diferencias de datos en los entornos de trabajo

WordPress almacena diferentes variables de configuración en su base de datos, lo cual implica datos como dominio principal y rutas utilizadas como referencia en páginas, entradas y tipos de contenido personalizado. Importar este contenido desde un entorno de desarrollo local, donde usamos dominios diferentes, puede generar enlaces rotos y que se pierdan las dependencias.

Para añadir cierta complejidad, WordPress también utiliza datos serializados en su base de datos teniendo estos más complicaciones a la hora de ser actualizados si cambian los valores base principales.

Implicaciones en el desarrollo

La sincronización es necesaria en todo momento si deseamos crear un flujo de trabajo adecuado, pero lo es aún más en grupos de trabajo de varios profesionales trabajando contra los mismos servidores.

También nos encontramos con implicaciones de seguridad por la propia naturaleza de los datos que manejamos. Los procesos de sincronización pueden fallar, podrían producirse errores en servidores mal configurados, o subidas a producción con información que no procede. En cualquiera de las situaciones, disponer de un sistema de copias de seguridad actualizado es un requisito primordial.

¿Cómo podemos sincronizar bases de datos en WordPress?

Al encontrarnos con diferentes escenarios de desarrollo y equipos de trabajo, probablemente no encontremos un único proceso que pueda adecuarse a todas las necesidades. Vamos a intentar exponer diferentes soluciones para disponer de un abanico de opciones que podamos incorporar en nuestro flujo de trabajo como desarrolladores.

WP Migrate DB Pro

WP Migrate DB Pro es una de las herramientas más populares y sencillas para migrar bases de datos. Permite sincronizar bases de datos entre diferentes instalaciones incluyendo modificaciones de variables de dominio, rutas y datos serializados.

Dispone también de una versión gratuita con funcionalidades más limitadas.

WP Sync DB

WP Sync DB Es un fork de código abierto del servicio de WP Migrate DB, permitiendo hacer push, pull y sincronizar bases de datos entre instalaciones de WordPress.

VersionPress

VersionPress es un plugin para WordPress que añade un sistema de control de versiones basado en Git. Permite deshacer cambios, crear entornos de staging y hacer merge entre bases de datos.

El sistema que VersionPress presenta, permite gestionar todo el desarrollo de un proyecto en WordPress como si de un proyecto de software se tratara facilitando enormemente el flujo de trabajo.

WPSiteSync for Content

WPSiteSync for Content permite sincronizar páginas, entradas y tipos de contenido personalizado de un modo sencillo entre desarrollos en entornos locales, staging y producción.

SyncDB

SyncDB es unun script creado en bash que sincroniza bases de datos locales contra entornos remotos. Realiza las correspondientes acciones necesarias de búsqueda y sustitución de datos actualizando el contenido según los parámetros indicados.

WP Staging

WP Staging es otra herramienta en forma de plugin que permite clonar datos y archivos desde el entorno de desarrollo a entornos de producción o intermedios.

WordPress GitHub Sync

WordPress GitHub Sync es una alernativa interesante que incorpora los repositorios de Github en el proceso es este complemento. Nos permitirá sincronizar contenido desde un repositorio de Github.

WP Stagecoach

WP Stagecoach Se trata de un servicio comercial online que nos permitirá crear una solución de staging que pueda fusionarse con nuestra base de datos. Garantiza crear un entorno seguro e independiente de nuestros datos, pero que pueda implementar en vivo los cambios realizados mediante un merge de la base de datos.

Gracias al software de código abierto podemos encontrarnos con soluciones adecuadas para cada desarrollador, para cada entorno de trabajo y para cada proyecto, que incluso podemos personalizar y adecuar a nuestras propias necesidades.

Incorporando este tipo de herramientas de sincronización de bases de datos en nuestros proyectos WordPress podremos ser más eficientes, cometer menos errores y salvaguardar tanto los datos como un proceso eficaz en el desarrollo.


Sobre el autor

Fernan Díez   

Desarrollo Web WordPress & Marketing Online Publico 'WordPress Diario', un podcast sobre desarrollo web con WordPress y marketing online donde encontrarás consejos, herramientas y recomendaciones sobre todo lo que te puede interesar acerca del mundo del diseño web con WordPress, y el marketing digital.