Есть сайт на drupal, который разрабатывает программист, локально. Затем файлы переносит через гит, базу выгружает.
А если на сайте постоянно что-то добавляется модераторами? Он залил себе, что-то сделал, выгрузил - что за это время делалось модераторами потерялось.
Как правильно организовывать работу в таком случае? Подойдут конкретные облачные сервисы (а какие?) или что?
Комментарии
На данный момент мы в командной работе используем следующие инструменты:
1) Конфиги друпала для деплоя настроек
2) default_content_deploy для деплоя контента. Можно создать на локалке кастомный блок, ноду, термин таксономии, выгрузить это в JSON, а потом импортировать на прод
3) Можно еще hook_update юзать, если первые два способа вдруг не могут помочь (какая-нибудь очень специфичная задача)
В любом случае база должна двигаться prod -> stage -> dev -> local, но никак не в обратную сторону
Всё это если у вас Drupal 8. Если у вас Drupal 7, то там нет нормальных инструментов для командной разработки. Переходите на Drupal 8
Запретить разработчику перезаписывать БД на проде. Использовать воркфлоу описанный выше
Не думаю
А можете поподробнее объяснить (если не трудно), как можно автоматизировать синхронизацию БД MySQL.
Например клиент поменял много разной информации на сайте, после этого попросил создать новые страницы и новые уникальные блоки на них с различной версткой.
Как правильно импортировать себе все что сейчас сделано на продакшене, создать через админку новые страницы, новые кастомные блоки с версткой, обновить меню и тд все протестить на локалке и залить обратно на продакшн?
И например за эти несколько дней, пока вносились правки на локалке, клиент не сказав ничего поменял еще контент. Как не задеть то что уже сделано?
1. Выгрузить базу с прода на локалку (это приходится делать, если клиент сам и часто вносит на сайте изменения). Если создание нового контента не зависит от уже имеющегося на сайте контента, то можно свежую базу и не выгружать.
2. Сделать работу на локалке
3. Выгрузить настройки в виде конфигов, а созданный на локалке контент в виде json
4. Импортировать на прод.
спасибо)
выход - не создавать контент локально и двигать базу только с прода на дев
а с дева на прод двигать только конфиги
- Для 7 использую разделение настроек конфигурации и данных пользователя. Базу с локали не заливаю, если надо что-то деплоить в базу то делаю это через .install _update или features
- Для 8 настройки льются через config
спасибо)