Как импортировать конфигурацию на другой сайт?

У меня есть эта ошибка, когда я пытаюсь импортировать конфигурацию другого сайта:

  

Поэтапная конфигурация не может быть импортирована, поскольку она возникает   с другого сайта, чем этот сайт. Вы можете синхронизировать   конфигурации между клонированными экземплярами этого сайта.

У меня 10 клиентов, и мне нужно синхронизировать настройки моего сайта с 10 различными сайтами.
UUID сайта является проблемой для совместного использования конфигурации с другим сайтом. Есть ли решение?

35 голосов | спросил Axel Briche 4 MarpmWed, 04 Mar 2015 20:32:30 +03002015-03-04T20:32:30+03:0008 2015, 20:32:30

7 ответов


35

Вы можете получить UUID с помощью:

drush config-get "system.site" uuid

И вы можете изменить его с помощью

drush config-set "system.site" uuid "fjfj34-e3bb-2ab8-4d21-9100-b5etgetgd99d5"

С этим вы должны иметь те же сайты.

ответил Gucho Ca 13 FebruaryEurope/MoscowbSat, 13 Feb 2016 01:18:37 +0300000000amSat, 13 Feb 2016 01:18:37 +030016 2016, 01:18:37
16

Управление конфигурацией разрешает синхронизацию между тем же сайтом или проектом, чтобы избежать проблем с импортом конфигурации с сайта a.com на b.com, для выполнения этой проверки Drupal 8 сгенерирует UUID для каждого сайта.

Вы получите свой UUID текущего сайта, выполнив следующую команду:

drush cget system.site

Приведенная выше команда будет иметь аналогичный вывод для следующего списка:

uuid: 236fa77c-d83e-42de-8a03-03c574c00160
имя: Drupal 8
mail: [email protected]
лозунг: ''
страница:
  403: ''
  404: ''
  фронт: узел
admin_compact_mode: false
weight_select_max: 100
langcode: ru

У импорта конфигурации есть другой UUID, вы можете подтвердить UUID следующей командой

сайты cat /default /config /staging /system.site.yml

По этой причине вам нужно изменить значение UUID сайта, используя следующую команду Drush:

drush cedit system.site

Приведенная выше команда позволяет вам использовать ваш любимый текстовый редактор для установки того же UUID, присутствующего в промежуточных конфигурационных файлах.

сайты cat /default /config /staging /system.site.yml

После изменения UUID и изменения разрешений, если вы снова заходите на страницу example.com/admin/config/development/configuration, вы увидите все изменения, удаления, переименования и добавления.

источник: http://enzolutions.com/articles/2014/08/27 /понимание-конфигурации-управления-в-Друпал-8 /

ответил rpayanm 5 MarpmThu, 05 Mar 2015 18:35:29 +03002015-03-05T18:35:29+03:0006 2015, 18:35:29
7

Использование Drupal Console

Вы можете добиться того же, что и Drupal Console , переопределив system.site â € " uuid.

$ drupal config: переопределить

Затем введите имя конфигурации system.site, ключ конфигурации uuid и соответствующее значение при появлении запроса.

Введите имя конфигурации [advagg.settings]:
> system.site

Введите ключ конфигурации [uuid]:
> UUID

Введите значение конфигурации:
> 656165f1-1017-45a1-9bd8-f70e31cf29ab

Имя конфигурации system.site
------------------- ------------------------------- ------- --------------------------------------
Ключ настройки Значение первоначального значения переопределения
------------------- ------------------------------- ------- --------------------------------------
uuid 7622bb19-5f3f-452d-82a3-c0a88241e789 656165f1-1017-45a1-9bd8-f70e31cf29ab
------------------- ------------------------------- ------- --------------------------------------
ответил MrUpsidown 7 +03002016-10-07T16:05:33+03:00312016bEurope/MoscowFri, 07 Oct 2016 16:05:33 +0300 2016, 16:05:33
3

Вы можете изменить UUID для сайта назначения с помощью drush cset и drush cget.

Сначала получите исходный UUID:

$ cd ~ /Sites /sourcesite <- ваш корень сайта Drupal
$ drush cget system.site uuid
Это вернет что-то вроде:
'system.site:uuid': 86b376c5-385e-4d13-bf00-e5e5443540e3

Замените UUID адресата

cd ~ /Sites /destinationite <- ваш корень сайта Drupal
$ drush cset system.site uuid 86b376c5-385e-4d13-bf00-e5e5443540e3

Теперь вы можете:

  1. Перейдите на сайт назначения в своем браузере в admin /config /development /configuration /full /import
  2. выберите конфигурационный архив и выберите «Загрузить»
  3. Вы увидите список всех элементов конфигурации
  4. Прокрутите вниз и нажмите кнопку «Импортировать все»
ответил Selwyn Polit 3 ThuEurope/Moscow2015-12-03T22:51:12+03:00Europe/Moscow12bEurope/MoscowThu, 03 Dec 2015 22:51:12 +0300 2015, 22:51:12
3

Вы можете получить UUID сайта без доступа к сайту или базе данных.

Если у вас нет доступа к исходному сайту /базе данных, вы все равно можете синхронизировать с предоставленными конфигурационными файлами. Конфигурация будет содержать UUID вашего сайта, поэтому вам нужно сначала установить это.

  1. Найдите каталог config /sync: Если он перемещен, вы можете найти, где он был установлен в settings.php. Искать: $ config_directories ['sync'], который перечислит путь.

  2. Перейдите к этому пути конфигурации и найдите файл: system.site.yml В этом файле найдите uuid: 86b376c5-385e-4d13-bf00-e5e5443540e3 (у вас будет другое значение, очевидно). Скопируйте это значение.

  3. В drush установите свой сайт на тот же сайт uuid, который мы только что обнаружили: drush cset system.site uuid 86b376c5-385e-4d13-bf00-e5e5443540e3

  4. Синхронизация конфигурации с помощью drush drush cim -y

  5. Если вы получаете ошибки, прочитайте их . У меня было:

    • отсутствующий модуль (который мне пришлось загрузить и включить)
    • из модуля ярлыков, который я должен был удалить первым, по адресу:
    • admin> config> Пользователь Interfact> Ярлыки

Как только я это сделал, я переиграл цим, и все работало как шарм!

Я установил локальный экземпляр D8, прежде чем пытаться восстановить из предоставленной конфигурации.

ответил Atomox 6 +03002017-10-06T18:43:14+03:00312017bEurope/MoscowFri, 06 Oct 2017 18:43:14 +0300 2017, 18:43:14
1

Это то, что мы надеялись на миграцию, но оно еще не закодировано.

ответил 7 MarpmSat, 07 Mar 2015 23:26:04 +03002015-03-07T23:26:04+03:0011 2015, 23:26:04
0

Если вы следуете инструкциям в ответе Gucho Ca и все еще имеете проблему, убедитесь, что у вас есть права на запись в вашем каталоге конфигурации синхронизации. Это даст вам такое же сообщение об ошибке, даже если ваши uuids одинаковы, но ваша система не имеет разрешений на запись.

Хороший способ проверить - щелкнуть вкладку «Импорт» раздела «Синхронизация». Если у вас нет правильных прав доступа к файлу, он скажет вам об этом.

ответил MikeD 12 PMpThu, 12 Apr 2018 19:41:26 +030041Thursday 2018, 19:41:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132