Синхронизация локальных и рабочих сайтов на Drupal 8/9
Не так давно мне пришлось вернуться к друпалу. До сих пор помню, что это один из самых простых и быстрых способов накидать прототип сайта. И вот встал у меня вопрос как же синхронизировать локальную и рабочую версию сайта.
Поковырявшись в памяти вспомнил, что у друпала появилась своя родная штука по синхронизации. Там, же все просто. На доноре выполняем drush config:export
или drush cex
, копируем файлы на сервер и там выполняем drush config:import
или drush cim
. И все должно работать. Но хер там не ночевал! Оно начинает выдавать ошибку, говорит uuid разный. Ну думаю, ладно может дело в драше. Пробую через веб морду. Таже ошибка.
Решил погуглить. И вот на drupal.ru встречаю самый сука вредный совет из того, что мог найти. Говорится там примерно следующее: «А чтоб не было этой ошибки вы это экспортируйте/импортируйте базу данных». Причем это признано лучшим ответом. Конечно так можно сделать, но лучше так делать на самом старте, когда локальная копия еще пуста и не содержит всяких тестовых данных. Ну а иначе вам на проде придется это удалить.
Покопавшись еще чуть чуть, я нашел лучшее решение. Раз проблема в том, что на сайтах разные uuid надо их сделать одинаковыми.
Для начала на любом из сайтов выполняем:
|
|
Увидим в ответ примерно следующее:
|
|
Это uuid нашего сайта, теперь на втором сайте устанавливаем точно такой же:
|
|
ВСЕ! Теперь все будет синхронизироваться без каких либо нареканий. Может конечно еще возникнуть проблема с «Ярлыками», но тогда вы просто удалите их и там и там.
Photo by Joshua Aragon on Unsplash.
Чуть не забыл. Вы можете почитать меня в твиттере или телеграме, посмотреть мои фотографии в инстаграме, подружиться со мной в PSN, позлить меня на твиче пока я играю или посмотреть в записи. А самые лучшие человеки могут меня поддержать деньгой.