Nous avons écrit un script pour gérer les vidages DB pour les branchements. Lisez cet article .
Le principe de base est qu'il lit le local.xml
pour récupérer les informations d'identification de la base de données, puis vide les données sur cette base. Il divise le vidage en deux parties, la structure uniquement, puis les données. Mais la clé est qu'elle accélère le processus de vidage conventionnel en ignorant les données non essentielles , et surtout empêche tout verrouillage de table pendant le vidage qui bloquerait / bloquerait autrement votre site en direct.
Lorsque vous avez le vidage MySQL, vous pouvez modifier l'URL très facilement simplement en utilisant sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql
Exécutez ensuite une importation mysql dans votre nouvelle base de données.
Donc sans le script, une version très basique ressemblerait à ceci.
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
Il n'y a aucune raison de devoir supprimer le fichier local.xml ou de réexécuter le programme d'installation si vous modifiez les URL dans la base de données de cette manière.
L'ensemble du processus de branchement est bien couvert dans notre guide Magento GIT . C'est un bon processus pour créer des branches de développement, mais réduit la base de données en direct d'une marge significative. Les tests ne seront donc pas complètement les mêmes que sur le site en direct.
Donc, effectuer un vidage DB vanille, remplacer sed, l'importation DB est suffisante pour un site intermédiaire. Et reflétera / fera correspondre le site en direct aussi étroitement que possible.
En termes d'empêcher les communications avec les clients - nous n'avons jamais trouvé cela nécessaire, car nous créons toujours des comptes délibérément pour les tests, sans jamais utiliser de vraies commandes client pour les tests.