J'ai cette erreur lorsque j'essaie d'importer la configuration d'un autre site:
La configuration par étapes ne peut pas être importée, car elle provient d'un site différent de celui-ci. Vous ne pouvez synchroniser la configuration qu'entre des instances clonées de ce site.
J'ai 10 clients et je dois synchroniser la configuration de mon site avec 10 sites Web différents.
L'UUID du site pose un problème pour le partage d'une configuration avec un autre site Web. Y a-t-il une solution?
8
configuration-management
Axel Briche
la source
la source
Réponses:
Vous pouvez obtenir l'UUID avec:
Et vous pouvez le changer avec
Avec ça, vous devez avoir les mêmes sites.
la source
La gestion de la configuration n'autorise la configuration de la synchronisation entre le même site ou le même projet que pour éviter les problèmes liés à l'importation de la configuration de site a.com vers b.com. Pour ce faire, Drupal 8 génère un UUID pour chaque site.
Vous obtenez votre UUID de site actuel en exécutant la commande suivante:
La commande ci-dessus, nous aurons une sortie similaire à la liste suivante:
L'importation de configuration a un UUID différent, vous pouvez confirmer l'UUID avec la commande suivante
Pour cette raison, vous devez modifier la valeur de l'UUID du site à l'aide de la commande Drush suivante:
La commande ci-dessus vous permet d'utiliser votre éditeur de texte favori pour définir le même UUID présent dans les fichiers de configuration de stockage intermédiaire.
Après avoir modifié l'UUID et les autorisations, si vous visitez à nouveau la page example.com/admin/config/development/configuration, vous verrez tous les changements, suppressions, renommements et ajouts.
source: http://enzolutions.com/articles/2014/08/27/understanding-configuration-management-in-drupal-8/
la source
drush config-set system.site uuid "abcdef-..."
)?drush -y cset system.site uuid $(cat /path/to/config/system.site.yml | awk '/uuid/ { print $2 }')
Utiliser Drupal Console
Vous pouvez obtenir la même chose avec Drupal Console en remplaçant la touche
system.site
-uuid
.Puis entrez le nom de la configuration
system.site
, la clé de configurationuuid
et la valeur appropriée lorsque vous y êtes invité.la source
Vous pouvez obtenir l'UUID du site sans accéder au site ou à la base de données.
Si vous n'avez pas accès au site / à la base de données d'origine, vous pouvez toujours synchroniser à partir des fichiers de configuration fournis. La configuration contiendra l'UUID de votre site, vous devez donc le définir en premier.
Trouvez votre répertoire config / sync: s'il est déplacé, vous pouvez trouver où il a été placé
settings.php
. Cherchez:,$config_directories['sync']
qui listera le chemin.Allez dans ce chemin de configuration et cherchez le fichier:
system.site.yml
Dans ce fichier, cherchezuuid: 86b376c5-385e-4d13-bf00-e5e5443540e3
(vous aurez évidemment une valeur différente). Copiez cette valeur.En drush, configurez votre site sur le même site uuid que nous venons de découvrir:
drush cset system.site uuid 86b376c5-385e-4d13-bf00-e5e5443540e3
Synchronisez la configuration avec drush
drush cim -y
Si vous obtenez des erreurs, lisez-les . J'avais:
Une fois que j'ai fait cela, j'ai rediffusé le cim, et tout a fonctionné à merveille!
J'avais installé une instance D8 locale avant d'essayer de restaurer à partir de la configuration fournie.
la source
Vous pouvez modifier l'UUID du site de destination à l'aide de drush cset et drush cget.
Commencez par obtenir l'UUID source:
Remplacer l'UUID de destination
Maintenant vous pouvez:
la source
Si vous suivez les instructions de la réponse de Gucho Ca et que le problème persiste, assurez-vous de vérifier que vous disposez des autorisations en écriture dans votre répertoire de synchronisation. Il vous donnera le même message d'erreur, même si vos uuids sont identiques, mais votre système ne dispose pas d'autorisations en écriture.
Un bon moyen de vérifier consiste à cliquer sur l'onglet Importer de la section Synchroniser. Si vous ne disposez pas des autorisations de fichiers correctes, il vous le dira.
la source
Comment automatiser le paramétrage de l'uuid system.site avant l'importation de la configuration
Pour les gens qui en ont assez de tout recommencer. J'ai enfin eu un correctif sur la façon de faire cela automatiquement. Vous devrez ajouter une pré-commande pour config: import with drush pour définir le uuid. Vous trouverez toutes les informations à ce sujet ici: https://stefvanlooveren.me/blog/fixing-systemsite-uuid-config-import-problem-drupal-8
la source