drupal 8 – Gestión de la configuración con diferentes bases de datos y sitios web.

Pregunta:

Tenemos una base de código central (repositorio Git). A partir de esta base de código, ya implementamos varios sitios web.

  • Hasta ahora usamos funciones. Los sitios web que ya están en producción tienen una base de datos llena con mucho contenido.
  • A partir de ahora pasamos a la gestión de configuración de drupal 8.

En la base del código central hemos establecido $config_directories[CONFIG_SYNC_DIRECTORY] = 'config/base'; . Este directorio contiene toda la configuración, desde donde desplegamos nuestra nueva configuración agregada, después de un drush cex -y .

Pero después de que lo hago:

  1. primero una nueva instalación fuera del sitio con el módulo de instalación de configuración e importar toda la configuración existente, todo funciona bien. Puedo importar y exportar configuración sin problemas
  2. pero luego tengo que copiar la base de datos de producción (del sitio que ya está en producción) nuevamente en esta base de datos. Después de eso, ya no puedo importar la configuración.

Pero necesito copiar esta base de datos de nuevo, porque necesitamos todo el contenido del sitio existente (que se basó en Funciones)

Recibo un error, el UUID no coincide, etc. ¿Es posible lo que quiero? ¿Y cómo lo hago funcionar?

(Ya intenté copiar / pegar manualmente el uuid: correcto uuid: en system.site.yml , pero aún así no funcionó).

Actualización: uso Docker para mi entorno local de Drupal 8

Respuesta:

Básicamente, debe asegurarse de que ambos sitios compartan el mismo UUID.

¿Tienes drush? Si es así:

En el caparazón de su sitio anterior (copiando desde) obtenga el UUID

drush cget system.site uuid

(Obtendrá algo como 'system.site:uuid': bfb11978-d1a3-4eda-91fb-45decf134e25 – copie el valor)

Luego, en el caparazón de su nuevo sitio (copiando a), configure el UUID

drush cset system.site uuid <your_uuid>

Por ejemplo: drush cset system.site uuid bfb11978-d1a3-4eda-91fb-45decf134e25

Luego, si obtiene un error como "marcador de posición … Estas entidades deben eliminarse antes de importar". ejecuta este comando:

drush ev '\Drupal::entityManager()->getStorage("shortcut_set")->load("default")->delete();'

Después de todo eso, drush cim sync -y debería permitirle sincronizar la configuración entre sus entornos.

Fuente

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım