Frage

Ich bin ein Online-Shop mit Magento zu entwickeln. Die Website wird stark frequentiert sein und eine zwei Server-Konfiguration, Testen und Produktion benötigen.

Meine Frage ist, wie Online-Shops, die speziell damit umgehen Magento?

Die Idee, die ich hatte, ist:

  • Nehmen Produktionsstandort offline
  • Leere Testing Datenbank
  • Kopieren von Daten aus der Produktionsdatenbank. (Vielleicht)
  • Test
  • Kopieren von Dateien und der Datenbank Produktionsort

Ich weiß, dass Magento eine Enterprise-Option bietet, aber das ist ein Skript Ich mag würde mich selbst schreiben.

War es hilfreich?

Lösung

Sie sollten nicht brauchen, den Produktionsstandort offline zu nehmen.

Was würde ich sugest (und Sie sollten dieses Skript der Lage sein) auf dem Produktionsstandort mysqldump -u root -ppassword db_name > db_name.sql auszuführen, um eine Kopie der Datenbank zu erzeugen. dann rsync laufen auf dem Dateiverzeichnis auf der Testmaschine in rsync (Sie können es für Linux und Windows zu bekommen) alle Dateien, die Sie kopieren möchten (Bilder?)

Nachdem Sie tun, um jede Prüfung auf, dass Sie die Produktion schieben möchten Sie tun können, ist eines von zwei Möglichkeiten. entweder (und ich bevorzugen diese Methode), um alle Änderungen speichern Sie die Datenbank in einer SQL-Datei aus und führen das auf den Produktionsstandort und zugleich sync wieder alle geänderten Dateien. oder Sie können mysql verwenden, um alle Anfragen zu einer Datei zu protokollieren, so werden diese auf den Produktionsstandort erneut spielen.

Am besten nicht die Produktionsstätte nehmen ab, wenn Sie nicht benötigen.

Andere Tipps

Sie mögen Master / Slave-mySQL mit der Slave von der Slave-Datenbank zu lesen, sondern auf die Live-Schreiben. Dies kann Setup in der local.xml-Datei sein. Sie sollten rsync der Lage sein, für die Dateien, mit --exclude für die var / session und var / cache-Dateien auszuführen. Auch können Sie das Logo --exclude wenn es sich um ein Entwicklungsserver ist. Das Logo kann dann geändert werden, um zu sagen, ‚test‘, so dass Sie es nicht zu verwechseln mit Live.

Eigentlich, wenn Sie Änderungen an der Datenbank vornehmen, müssen Sie die Seite offline nehmen (auch nur für ein paar Sekunden), während Sie von den alten Code auf den neuen Code zu wechseln, und die Datenbankmigration Skript ausführen.

Sie interessiert sein könnte, zu wissen, dass

  • Postgres hat Transaktions DDL: Wenn Sie Ihre Migrationsskript in einer Transaktion wickeln und etwas bricht in der Mitte, wird das Ganze zurückgerollt (einschließlich DROP TABLE)

  • Postgres muss nicht die Tabelle neu zu schreiben, um eine Spalte hinzuzufügen (MySQL tut und es ist ziemlich langsam)

  • Wenn Sie verwenden MyISAM Sie aus vielen Gründen zum Scheitern verurteilt sind, ist einer von ihnen, dass Sicherungen tun, um Ihre Website offline für ein paar Minuten in Anspruch nehmen wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top