En un artículo anterior explicamos como Importar y Exportar configuraciones en Drupal 8 entre sitios que tienen el mismo identificador universal. En este artículo explicaremos como hacerlo cuando dos sitios tienen el identificador universal diferente. Lo primero que necesitamos es tener instalado Drush en la versión actualizada.
Origen de las configuraciones de Drupal
Nuestro primer paso es una exportación completa del sitio, así descargas un comprimido con todas las configuraciones, todo este proceso se hace en la ruta:
admin/config/development/configuration/full/export
Una vez ahí escogemos exportar en los tabs y luego presionamos el botón exportar.
Destino para importar las configuraciones de Drupal
Nuestro segundo paso es importar las configuraciones del sitio origen, en la siguiente ruta:
admin/config/development/configuration/full/import
Una vez ahí escogemos importar en los tabs y luego seleccionamos el comprimido que hemos descargado del sitio de origen y luego presionamos el botón "Subir al servidor".
Este proceso nos mostrará un error diciendo que no podemos sincronizar las configuraciones ya que solo funciona para sitios con un mismo Identificador Único Universal (UUID).
Aquí es donde usamos el poder de drush para hacer un cambio de UUID del archivo system.site.yml del sitio de origen y dejarlo exactamente igual al sitio destino donde sincronizamos las configuraciones.
Veremos cual es UUID del sitio destino con el siguiente comando:
drush cget system.site
uuid: 446fa77c-d83e-42de-8a03-03c574c00170
name: misitio.com
mail: jhon@example.com
slogan: ''
page:
403: ''
404: ''
front: node
admin_compact_mode: false
weight_select_max: 100
langcode: en
Luego abriremos el archivo system.site.yml que se encuentra dentro files en la carpeta config (en esta carpeta se guardan después de importar las configuraciones). Editamos el archivo
sites/default/files/config.../sync/system.site.yml
Cambiaremos el UUID del sitio de origen por el del sitio destino, así tendremos el mismo UUID en el archivo system.site.yml del sitio de origen con nuestro sitio destino.
Luego continuaremos con la sincronización de las configuraciones en la siguiente ruta:
admin/config/development/configuration
Ahí nos muestra un listado con todas las configuraciones que se encuentran en la carpeta config/sync, además de poder ver las diferencias de configuraciones que tienen los archivos y el sitio destino. Luego presionaremos el botón al final de la lista “Importar todo”. Nos muestra el siguiente error:
Esto sucede ya que drupal tiene configuraciones por defecto como el idioma, vemos en la imagen que la configuración es la misma que del sitio destino pero el identificador único universal(UUID) es diferente. Entonces debemos abrir los archivos shortcut.default.yml y language.entity.es.yml.
En el listado de sincronización veremos las diferencias de estos 2 archivos:
shortcut.default.yml y language.entity.es.yml y copiaremos el UUID de la parte Activo que es nuestro sitio destino, abrimos los dos archivos y editamos los editificadores únicos universales de cada uno, luego guardaremos los archivos con los cambios realizados. Volvemos al listado y presionaremos el botón “Importar todo”.
Al finalizar con el proceso de importación de configuraciones el sistema nos mostrará el mensaje La configuración fue importada exitosamente. Ahí podremos verificar todas las configuraciones del nuestro sitio destino.
Me pareció interesante el artículo
Añadir nuevo comentario