Dallanma için DB dökümlerini işlemek için bir senaryo yazdık. Bu makaleyi okuyun .
Temel ilke local.xml
DB kimlik bilgilerini almak için okur , sonra bu temelde verileri dökümüdür. Dökümü iki parçaya ayırır, sadece yapı ve sonra veri. Ancak anahtar, temel olmayan verileri atlayarak geleneksel döküm sürecini hızlandırması ve en önemlisi, dökümü sırasında canlı sitenizi engelleyecek / asabilecek tablo kilitlerini önleyebilmesidir.
MySQL dökümüne sahip olduğunuzda, URL'yi yalnızca sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql
Sonra yeni DB'nize bir mysql alma çalıştırın.
Yani senaryo olmadan, çok basit bir versiyon böyle görünecektir.
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
Bu şekilde DB'deki URL'leri değiştirirseniz, local.xml dosyasını silmeniz veya yükleyiciyi yeniden çalıştırmanız için hiçbir neden yoktur.
Tüm dallanma süreci Magento GIT Kılavuzumuzda iyi bir şekilde ele alınmıştır . Bu, geliştirme dalları oluşturmak için iyi bir süreçtir, ancak canlı DB'yi önemli bir farkla küçültür. Dolayısıyla, testler canlı siteyle tamamen aynı olmayacaktır.
Yani bir vanilya DB dökümü, sed yerine, DB alma bir evreleme sitesi için yeterlidir. Ve canlı siteyi mümkün olduğunca yakından yansıtacaktır.
Müşterilerle iletişimi önlemek açısından - test için her zaman kasıtlı olarak hesaplar oluşturduğumuzdan, asla test için gerçek müşteri siparişlerini kullanmadığımızdan bunu hiç bir zorunluluk olarak bulamadık.