Escrevemos um script para lidar com despejos de banco de dados para ramificação. Leia este artigo .
O princípio básico é que ele lê local.xml
para buscar as credenciais do banco de dados e, em seguida, despeja os dados nessa base. Ele divide o despejo em duas partes, somente a estrutura e depois os dados. Mas a chave é que ele acelera o processo de despejo convencional ignorando dados não essenciais e evita criticamente qualquer bloqueio de tabela durante o despejo que, de outra forma, bloquearia / travaria seu site ativo.
Quando você tiver o dump do MySQL, poderá alterar a URL com muita facilidade usando sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql
Em seguida, execute uma importação do mysql no seu novo banco de dados.
Portanto, sem o script, uma versão muito básica seria assim.
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
Não há nenhum motivo para excluir o arquivo local.xml ou executar novamente o instalador se você alterar os URLs no banco de dados dessa maneira.
Todo o processo de ramificação está bem coberto em nosso Guia Magento GIT . Esse é um bom processo para criar ramificações de desenvolvimento, mas reduz o DB ativo por uma margem significativa. Portanto, os testes não serão completamente iguais aos do site ativo.
Portanto, executar um dump de banco de dados baunilha, substituir sed, a importação de banco de dados é suficiente para um site de preparação. E espelhará / corresponderá ao site ao vivo o mais próximo possível.
Em termos de impedir a comunicação com os clientes - nunca achamos isso necessário, pois sempre criamos contas deliberadamente para testes, nunca usando pedidos reais de clientes para testes.