Я работаю с небольшой веб-командой, которая в настоящее время занимается интеграцией GIT в наш процесс разработки. Мы разрабатываем локально, имеем центральное хранилище данных, а затем переносим изменения на отдельные тестовые и производственные серверы. Это прекрасно работает для наших файлов, но мы сталкиваемся с препятствиями при синхронизации баз данных MySQL.
У нас есть много сайтов, созданных с помощью Wordpress, и проблемы здесь более заметны:
- Wordpress вставляет доменное имя в БД. Прямо сейчас мы можем обойти это, выполняя поиск и замену всякий раз, когда мы перемещаем сайты с локального, на тестирование и затем на производство. Было бы неплохо, если бы нам не пришлось этого делать.
- Базы данных сайта производственных серверов постоянно меняются (комментарии и т. Д.), А сервер тестирования и наши локальные серверы не синхронизированы. Это затрудняет отправку изменений (после добавления плагина, страницы и т. Д.) В рабочую БД с тестового сервера.
Было бы замечательно, если бы мы могли найти что-то, что могло бы интегрироваться с GIT (возможно, через githooks), которое позволило бы нам синхронизировать базы данных на разных серверах разработки и производства. Более того, было бы неплохо, если бы существовал способ отслеживать изменения в самой базе данных, что позволяло бы объединять изменения (изменения в разработке и изменения в рабочей среде) при переходе в рабочую среду.
И, наконец, было бы еще лучше, если бы все это работало в нескольких доменах (локальные, тестовые и производственные); другими словами, он должен был бы находить и заменять URL-адреса в sql при каждом push / pull.
Спасибо большое за понимание.