Wir haben ein Skript geschrieben, um DB-Dumps für die Verzweigung zu behandeln. Lesen Sie diesen Artikel .
Das Grundprinzip besteht darin, dass es die local.xml
zum Abrufen der DB-Anmeldeinformationen erforderlichen Daten liest und dann die Daten auf dieser Basis ausgibt. Es teilt den Dump in zwei Teile, die Struktur und dann die Daten. Der Schlüssel ist jedoch, dass der herkömmliche Speicherauszugsprozess beschleunigt wird, indem nicht erforderliche Daten übersprungen werden. Außerdem werden Tabellensperren während des Speicherauszugs, die ansonsten Ihre Live-Site blockieren oder hängen lassen würden, am kritischsten verhindert.
Wenn Sie den MySQL-Speicherauszug haben, können Sie die URL ganz einfach mit ändern sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql
Führen Sie dann einen MySQL-Import in Ihre neue Datenbank aus.
Ohne das Skript würde eine sehr einfache Version so aussehen.
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
Es gibt keinen Grund, die Datei local.xml zu löschen oder das Installationsprogramm erneut auszuführen, wenn Sie die URLs in der Datenbank auf diese Weise ändern.
Der gesamte Verzweigungsprozess wird in unserem Magento GIT-Handbuch ausführlich beschrieben . Dies ist ein guter Prozess zum Erstellen von Entwicklungszweigen, der die Live-Datenbank jedoch erheblich verkleinert. Tests werden also nicht ganz so sein wie auf der Live-Site.
Die Durchführung eines Vanille-DB-Dumps, sed replace und DB-Imports ist für eine Staging-Site ausreichend. Und wird die Live-Site so genau wie möglich wiedergeben.
In Bezug auf die Verhinderung der Kommunikation mit Kunden - wir haben es nie für notwendig gehalten, da wir immer bewusst Konten zum Testen erstellen und niemals echte Kundenaufträge zum Testen verwenden.