¿Cómo puedo combinar los cambios de una copia desarrollo del sitio para el sitio en vivo sin perder el nuevo contenido?

drupal.stackexchange https://drupal.stackexchange.com/questions/137

  •  16-10-2019
  •  | 
  •  

Pregunta

¿Cuál es el mejor procedimiento para fusionar el trabajo realizado en una copia desarrollo de un sitio para la copia de producción en directo? Con frecuencia, no ha habido una gran cantidad de nuevo contenido añadido al sitio ya que el desarrollo empezar a trabajar en las nuevas características. Y la mayoría de adiciones a un sitio implicarán cambios de bases de datos. Así copiar los nuevos archivos es fácil, pero ¿qué pasa con la base de datos? ¿Cómo combinar los cambios con la base de datos de producción existente sin perder el nuevo contenido que se ha añadido desde la última vez que se actualizó el sitio de producción? ¿Hay módulos que ayuda con esto?

¿Fue útil?

Solución

Para los tipos de contenido, vistas y cambios en la estructura de la mirada del sitio dev en el uso de Características para exportar la base de datos de código.

Para la migración de contenido que hay muchas opciones, pero no una solución sólida sola. Un ejemplo es el de despliegue conjunto .

Otros consejos

He adoptado básicamente dos escuelas de pensamiento aquí (una tercera escuela de pensamiento, haciendo diferenciaciones de bases de datos, no voy a discutir porque la complejidad es bastante alto).

1) Implementar dejando caer la base de datos de producción y la importación de un mysqldump de la base de datos de desarrollo. Opcionalmente, ejecute un hallazgo expresión regular / sustitución de antemano en los enlaces absolutos no modificables, que hacen referencia a la URL dev en el volcado SQL. Después de importar el db dev en prod, ejecutar automáticamente las instrucciones SQL (normalmente a través de script) después de cambiar cualquier configuración que son diferentes para prod de dev (por ejemplo, tal vez usted tiene en la tabla de variables algunas configuraciones de conexión para la conexión a sistemas externos que es necesario cambiar a punto en sistemas externos prod en lugar de en la versión dev).

2) Utilice el Características módulo, como se ha mencionado por Budda, para la configuración de administrador, y el uso de la etiqueta < a href = "http://drupal.org/project/node_export" rel = "nofollow"> módulo de nodo de exportación para la exportación de contenido / importación en combinación con el Eliminar todo módulo. Así flujo de trabajo es:

  1. node_export uso y características a los nodos de exportación / características de los archivos
  2. Opcionalmente (y es de esperar) de control de versiones
  3. archivos de carga en el sistema de prod
  4. Uso drush o administrador de interfaz de carga cuenta
  5. Uso Drush borrar todo o interfaz de administración para eliminar todos los nodos de los tipos que desea importar
  6. Uso drush ne-importación o la interfaz de administración para importar los nodos de los nodos archivo que exportó.

Una nota, yo sugeriría la adopción de un flujo de trabajo estándar, donde el contenido va sólo en una dirección. De cualquier Dev -> Prod o Prod. -> Dev (prefiero éste)

He hecho esto, y estoy haciendo esto en algunos sistemas grandes, con resultados bastante buenos, pero siempre habrá muchas maneras de rebanar esta manzana, elegir cualquier manera que funciona mejor para usted.

bases de datos de volcado de copia del sitio en vivo y copia el desarrollo del sitio en el archivo de SQL (uso mismos parámetros y configuraciones para los vertederos).
A continuación, comparar los dos archivos SQL utilizando una pequeña herramienta de comparación ExamDiff . Se va a mostrar diferencias entre los archivos de lado a lado con diferentes colores. Puede saltar directamente a las diferencias también (sin desplazamiento). Examinar las diferencias y añadir / editar líneas al archivo SQL del sitio en vivo. Asegúrese de que no hay absoluta ruta / URL del entorno de desarrollo en ese archivo. ¡Eso esta terminado! Tiempo para restaurar la base de datos para el sitio en vivo.
Haga su vida más fácil: En el primer paso, volcar sólo las tablas que se cambian. Por ejemplo, si se ha editado un módulo de copia de desarrollo que apunta a una tabla separada, volcar sólo que esta tabla. Si no está seguro acerca de mesa en particular, toda volcado de la base está muy bien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a drupal.stackexchange
scroll top