Estoy trabajando para mejorar mi flujo de trabajo de git tal como se aplica a mis proyectos de desarrollo de WordPress. A menudo, al desarrollar un sistema de gestión de contenido, creo un servidor de desarrollo (como http://dev.finalsitename.com
) que contiene los tipos de publicaciones personalizadas y las taxonomías que se utilizarán en la versión de producción. Esto le permite a mi cliente comenzar a agregar su contenido al sitio.
Mientras están trabajando en esta tarea, generalmente estoy construyendo el aspecto y la sensación, así como la programación / complementos personalizados que se utilizarán en mi entorno de host local. Para asegurarme de no sobrescribir ninguna de sus actualizaciones, generalmente saco una copia de su base de datos y reemplazo la mía. Sin embargo, hay momentos en los que solo necesito ingresar al área de administración de WP y cambiar una configuración u otra cosa pequeña ...
Si hay varios desarrolladores trabajando en un proyecto de WordPress, cada uno de nosotros realiza un volcado de base de datos (con marca de tiempo) de nuestra versión del sitio y lo incluimos en el directorio raíz antes de confirmar y enviar su rama local al repositorio remoto. El problema con este enfoque es que las bases de datos a menudo no están sincronizadas y no hay una manera fácil de determinar cuál usar.
¿Qué están haciendo otros desarrolladores para mantener sus bases de datos sincronizadas y al mismo tiempo permitir que varios desarrolladores (y clientes / productores de contenido) trabajen en el mismo proyecto?
fuente
Lo siento si esto parece increíblemente obvio, pero si todos necesitan tener la misma copia de la base de datos con la misma estructura, ¿no tendría sentido tener un servidor SQL central / de oficina y usarlo? Clónelo localmente si necesita experimentar, pero manténgalo como el estándar de facto autoritario y realice copias de seguridad de ese servidor y solo de ese servidor.
De lo contrario, cuando estoy trabajando en un proyecto grupal, tenemos nuestras propias configuraciones con contenido diferente. El código se encarga de actualizar y migrar las estructuras de la tabla y podemos acceder a las instalaciones locales del código que se ejecuta en nuestras máquinas a través de la LAN, por lo que no es necesario que compartamos contenido.
Si estamos ingresando contenido, lo ejecutamos en un servidor de prueba que luego podemos exportar e importar al servidor en vivo, o podemos migrar directamente al servidor de producción si actualmente no existe una instancia en vivo.
Si en algún momento necesita una separación de la prueba en vivo y los datos de WIP, simplemente use una rama de prueba, en vivo y desarrollo en su repositorio
fuente