He adoptado básicamente dos escuelas de pensamiento aquí (una tercera escuela de pensamiento, haciendo diferencias en la base de datos, no discutiré porque la complejidad es bastante alta).
1) Implemente soltando la base de datos de producción e importando un mysqldump de la base de datos de desarrollo. Opcionalmente, ejecute una búsqueda / reemplazo de expresiones regulares de antemano en cualquier enlace absoluto codificado que haga referencia a la URL del desarrollador en el volcado de SQL. Después de importar el dev db en prod, ejecute automáticamente instrucciones SQL (generalmente a través de script) para cambiar cualquier configuración que sea diferente para prod que para dev (por ejemplo, tal vez tenga en la tabla de variables algunas configuraciones de conexión para conectarse a sistemas externos que necesita cambie para apuntar a sistemas externos prod en lugar de a la versión de desarrollo).
2) Use el módulo Características , como lo menciona budda, para la configuración de administración, y use el módulo Exportar nodo para la exportación / importación de contenido en combinación con el módulo Eliminar todo . Entonces el flujo de trabajo es:
- use node_export y características para exportar nodos / características a archivos
- Opcionalmente (y con suerte) control de versiones
- Cargar archivos en el sistema prod
- Use la interfaz drush o admin para cargar funciones
- Utilice la interfaz drush delete-all o admin para eliminar todos los nodos de los tipos que desea importar
- Use drush ne-import o la interfaz de administración para importar los nodos del archivo de nodos que exportó.
Una nota, sugeriría adoptar un flujo de trabajo estándar, donde el contenido va solo en una dirección. O Dev -> Prod o Prod -> Dev (prefiero este).
He hecho esto, y lo estoy haciendo en algunos sistemas grandes, con resultados bastante buenos, pero siempre habrá muchas formas de cortar esta manzana, elija la que mejor funcione para usted.