Testsystem parallel von Livesystem und dann zurück

Hallo miteinander,

ich möchte die ganze Update Geschicht gern in einem Testsystem durchspielen.

 

Wie man ein Tstsystem erstellt usw ist mir klar. Ich erstelle eine 1:1 Kopie inkl. DB und lege diese zb in einen Unterordner als “Staging” System.

Im Testsystem spiele ich Updates etc durch. (Vorher muss ich natürlich den Site Host eintrag in der DB ändern)

Wie gehe ich aber dann vor, wenn ich alles zurückspiele und in der Zwischenzeit Bestellungengekommen sind? Und das werden sie. Kopiere ich nur die files zurück, oder werden irgendwelche Versionsnummer in der DB gespeichert?

 

Oder muss man ggf. die Tabellen s_order_* und s_user_* einzeln einspielen?

 

Danke für eure Info

DuWas mir als erstes einfallen würde ist hast du URL Probleme in der DB die müssten ja auch geändert werden.

 

In der Enterprise Edition gibt es das  was du suchst .

Naja die URL Probleme habe ich nicht, wenn ich das lokal auf einem System mache und die hosts Datei ändere und dem dem System vorgaugel, als wäre es das Livesystem.

Die Enterprise steht aufgrund der Kosten im Moment leider nicht zur Debatte.

 

 

Das Testsystem ist zum testen und vorbereiten, das Update im Liveshop musst dann erneut machen.
Da geht es aber fix, weil Du ja schon alles vorbereitet hast.

  • Update im Testshop machen
  • Changelog der/des Updates beachten
  • Templates anpassen (falls eigenes Themes vorhanden)

Mach Dir am besten eine Liste, was beim Update des Liveshops zu ändern / zu beachten ist, step by step.

 

1 „Gefällt mir“

@simplybecause schrieb:

Das Testsystem ist zum testen und vorbereiten, das Update im Liveshop musst dann erneut machen.
 

Also gibt es keine Möglich dann das Testsystem zurückzuspielen? Weil es kann ja dann immernoch wieder etwas „schief“ gehen.

 

Laut Shopware ist es ja möglich ein Testsystem wieder zurückzuspielen…Mir stellt sich eben nur die Frage von den Bestellungen und Kunden in der DB

Klar kann immer was schief gehen.
Wo steht das von wegen zurückspielen?
Meinst Du das Staging-System? Gibt es das überhaupt noch?

Wenn Du ein paar Tage für das Update im Testshop brauchst, kommen in der Zeit im Liveshop neue Kunden hinzu, neue Newsletterabonnenten, die Bestände ändern sich, usw.

Nein nicht das Staging…das gibt es seit Shopware 5.1 ja nicht mehr

Diesen Link meinte ich http://community.shopware.com/Shop-Transfer-Live-System-Testumgebung_detail_1309.html#Kopieren_der_Testumgebung_in_das_Live-System

Das ist mir klar, dass sich Sachen ändern…nicht nur in Tagen, sondern in Minuten…daher war ja meine Frage, ob es reicht, wenn ich ein Update Lokal mache, die DB zurückspiele und ggf nur die DB Tabelle s_user_* und s_order_* usw auch “aktualisiere”

 

Ich spreche nicht davon, dass ich ein Shopware Update machen will (da ändern sich ja Tabellen), sondern Plugin Updates…die sind manchmal in der Woche 10 - 15 Stück

Der Weg von der Testumgebung zur Liveumgebung kann nur für die sein, die neu starten mit SW und vorher alles vorbereiten wollen.
Anders funktioniert es nicht, oder ich blick’ den Grund nicht.

Du schreibst im Eingangsposting “Update Geschichte”. Aber egal.
Auch wenn Du Plugins erst in einer Testumgebung testen willst, wirst Du nicht drum herum kommen, das Update im Liveshop “erneut” machen zu müssen.
Sollten sich Templates geändert haben, hast Du die sicher Updatsicher vorbereitet und musst sie nach dem Update nur noch in den Shop laden - fertig.

Wie auch immer du vorgehst, wenn du möglichst kurze Downtime haben möchtest und ein dazu noch möglichst schnellen Wechsel zum alten Stand, dann schlage ich folgendes vor.

1. Per Linux Befehl auf der Shell den ganzen SW-Installationsordner in einen neuen Ordner kopieren. Zum Beispiel mit 
cp -rf /home/user/www.deinedomain.de/* /home/user/www.deinedomain.de_neu/
Eventuell überprüfen ob die .htaccess mitkopiert wurde.

2. Auf oberster Ebene von MySQL eine vollständige Kopie der bestehenden DB machen und ein neues Passwort und Usernamen vergeben. Dazu benötigst du root-Rechte oder du erledigst das über die Administrationsoberfläche deines Hosters. 

3. Im neuen Ordner die config.php mit den neuen DB-Daten anpassen.

4. Du kannst Testweise in der Kopie deine Updates einspielen und sehen was passiert bzw. wie lange das dauert.

5. Wie du die URLs aufrufst und die Domainnamen in der DB anpasst musst du selbst rausfinden.

6. Wenn du mit dem Ergebnis zufrieden bist, keine Bestellungen reingekommen sind und du mit der neuen Version online gehen willst, dann einfach den Namen des Ordners www.deinedomain.de auf www.deinedomain.de_orig umbenennen und den Ordner www.deinedomain.de_neu umbenennen in www.deinedomain.de.

7. Wenn in der Zwischenzeit doch Bestellungen reingekommen sind, dann von beiden DBs einen Dump machen und IN DER NEUEN DB die Einträge aus den folgenden Tabellen der alten Installation reinspielen.

s_user;
s_user_attributes;
s_user_billingaddress;
s_user_billingaddress_attributes;
s_user_debit;
s_user_shippingaddress;
s_user_shippingaddress_attributes;

s_order;
s_order_attributes;
s_order_basket;
s_order_basket_attributes;
s_order_billingaddress;
s_order_billingaddress_attributes;
s_order_comparisons;
s_order_details;
s_order_details_attributes;
s_order_documents;
s_order_documents_attributes;
s_order_esd;
s_order_history;
s_order_notes;
s_order_shippingaddress;
s_order_shippingaddress_attributes;

 Im Testsystem checken ob alles so läuft wie es soll. Falls ja zu Punkt 6. springen.

8. Sobald das Testsystem live geschaltet ist nochmals im Backend den Cache leeren und neu Kompilieren. Alles sollte jetzt laufen.

9. Ist irgendetwas schief gegangen was sich nicht schnell beheben lässt, dann die Umbenennung der Ordner rückgängig machen und man hat die alte Installation sofort wieder online.
 

Beste Grüße

Ernesto

 

1 „Gefällt mir“

@ErnestoG Danke! Genauso meinte ich es ab Punkt 7, da garantiert in der Zeit Bestellungen kommen.

Ich würde das Update auf der Live-Umgebung ganz normal durchgehen. Einzelne Tabellen würde ich nicht zurück kopieren. Bei den Updates ändern sich teilweile auch wichtige Spalten innerhalb von Tabellen.