Мы написали скрипт для обработки дампов БД для ветвления. Прочитайте эту статью .
Основным принципом является то, что он читает local.xml
для извлечения учетных данных БД, а затем выводит данные на этой основе. Он разбивает дамп на две части, только структуру и затем данные. Но ключ в том, что он ускоряет обычный процесс дампа, пропуская несущественные данные , и наиболее критично предотвращает любые блокировки таблицы во время дампа, которые в противном случае заблокировали бы / повредили ваш работающий сайт.
Когда у вас есть дамп MySQL, вы можете очень легко изменить URL, просто используя sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql
Затем запустите импорт MySQL в вашу новую БД.
Поэтому без сценария очень простая версия выглядела бы так.
mysqldump -hHostname -uUsername LiveDbname -p > db.sql
sed -i 's/www.mydomain.com/staging.mydomain.com/g' db.sql
mysql -hHostname -uUsername DevDbname -p < db.sql
Нет никаких причин для того, чтобы удалять файл local.xml или перезапускать программу установки, если вы изменяете URL-адреса в БД таким способом.
Весь процесс ветвления хорошо описан в нашем Руководстве по GIT Magento . Это хороший процесс для создания веток разработки, но он значительно сокращает количество работающих БД. Так что тесты не будут полностью такими же, как на живом сайте.
Таким образом, выполняя ванильный дамп БД, заменяя sed, импорта БД достаточно для промежуточного сайта. И будет отражать / соответствовать живому сайту как можно ближе.
С точки зрения предотвращения общения с клиентами - мы никогда не считали это необходимостью, поскольку мы всегда создаем учетные записи специально для тестирования, никогда не используя реальные заказы клиентов для тестирования.