Идентификатор UUID сайта в исходном хранилище не соответствует целевому хранилищу


Когда я запускаю drush cim-y на моем промежуточном экземпляре моего сайта, я получаю следующую ошибку:

Исключение Drupal\Core\Config\Configimporter: При проверке синхронизации конфигурации были допущены ошибки. в Drupal\Core\Config\CONFIGIMPORTER->проверка() (строка 728 из/var/www/xeno/docroot/core/lib/Drupal/Core/Config/ConfigImporter.php).
Импорт не удался по следующим причинам: Идентификатор UUID сайта в исходном хранилище не соответствует целевому хранилищу. Сущности существуют изображения типа Абзац и типа абзац. Эти объекты необходимо удалить перед импортом.

Вот что я сделал:

  1. Скопировал базу данных из промежуточной версии и извлек последний код

  2. Побежал drush cex -y

  3. Зафиксированная конфигурация

  4. Перешел к этапированию и вытащил последний код

  5. Запустил drush cim -y и получил ошибку, указанную выше

Когда я запускаю drush cget system.site uuid на локальном и промежуточном уровне, я получаю тот же uuid, поэтому я не уверен, почему я получаю эту ошибку.

Как я могу исправить ошибку?

Author: kiamlaluno, 2016-06-22

4 answers

Вы можете исправить это, изменив UUID вашего локального сайта с помощью drush.

Мне также нужно было запустить сочетание drush entity-updates -y и установить определенные модули с drush en <module_name> -y, прежде чем конфигурации будут импортированы в новую свежую базу данных.

Обновление: вам больше не следует использовать drush entity-updates -y. См. https://www.drupal.org/node/3034742

 12
Author: oknate, 2020-01-07 17:51:48

Традиционно перед импортом конфигурации следует использовать следующее:

drush cset system.site uuid "6ba9bxxx-xxxx-438x-9c8x-e5x7x3d0x347"

Или с помощью консоли drupal:

$ drupal config:override

Enter configuration name []:
> system.site

Enter the configuration key [uuid]:
> uuid

Enter the configuration value:
> 6ba9bxxx-xxxx-438x-9c8x-e5x7x3d0x347

Более общее решение

Для людей, которым надоело делать это снова и снова. Я наконец-то понял, как это сделать автоматически. Вам нужно будет добавить предварительную команду для конфигурации: импорт с помощью drush, чтобы установить uuid. Читайте все об этом здесь: https://stefvanlooveren.me/blog/fixing-systemsite-uuid-config-import-problem-drupal-8

 6
Author: Stef Van Looveren, 2019-11-06 13:33:52

На самом деле, я использовал развертывание SFTP, и у него не было файла system.site.yml на моем промежуточном сайте. Я просто перераспределил все файлы, и проблема исчезла.

 2
Author: albertski, 2018-07-18 14:45:24

Для меня:

drush config-set "system.site" uuid etc9c055aetcetc

Подтверждает изменение:

drush cedit system.site

Исправлена ошибка быстрого доступа при импорте конфигурации:

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

Вручную отредактировал system.site.yml, изменив идентификатор UUID на соответствующий.

После этого импорт конфигурации только что, наконец, успешно запустился на моем порту.

 0
Author: Will K., 2021-01-29 22:50:53