Wie kann ich Aktualisierungen an einer Site in einer Entwicklungskopie vornehmen, dann aber Aktualisierungen zurückschieben, ohne die sich entwickelnde Datenbank der Live-Site zu überschreiben?

20

Ich habe versucht, im Titel so beschreibend wie möglich zu sein, und ich weiß, dass diese Frage bereits in verschiedenen Formen gestellt wurde, aber ich konnte keine gute Antwort darauf finden, und es ist anzunehmen, dass niemand dieses Problem gelöst hat.

Es ist ganz einfach: Sobald eine WP-Site online ist und keine statische ist, aktualisiert sie ihre Datenbank ständig, indem neue Posts, neue Woocommerce-Bestellungen, neue Benutzerkonten usw. hinzugefügt werden. '

Wenn ich einige wichtige Änderungen und Aktualisierungen an der Site vornehmen möchte, ist die einfachste und einfachste Möglichkeit, eine Kopie entweder in eine lokale Installation oder in eine andere Entwicklungsdomäne zu erstellen und alle Änderungen dort vorzunehmen. Sobald alle Änderungen vorgenommen wurden, möchte ich sie wieder auf die Live-Site kopieren.

Wenn sich die Änderungen nur auf Dateien wie Theme und CSS beziehen, ist das etwas einfach. Wenn die Änderungen jedoch Änderungen in der Datenbank beinhalten, wie das Hinzufügen neuer Plugins und das Hinzufügen von Inhalten, die mit diesen Plugins in Verbindung stehen, kann ich die Site nicht mehr einfach zurückkopieren, da sie alle neuen Änderungen überschreibt, die dem Live hinzugefügt wurden Website-Datenbank. Alle neuen Beiträge, neuen Bestellungen und neuen Bild-Uploads werden gelöscht.

Jetzt weiß ich, dass verschiedene Fallszenarien unterschiedliche Lösungen haben, aber gibt es nicht eine Methode, die alle Fälle behandelt?

Wenn zum Beispiel die einzigen Änderungen, die an der Live-Site vorgenommen wurden, neue Posts waren, kann ich die Posts auf der Entwickler-Site exportieren und importieren und dann die gesamte Site verschieben. Das gleiche gilt für einige andere Artikel, jedoch nicht für alle Artikel. Und das andere Problem dabei ist, dass die Export- und Importfunktion in WordPress miserabel ist. Es ist so rudimentär und Sie haben nur sehr wenige Optionen, um nur bestimmte Artikel auszuwählen und zu exportieren. Ich habe wahrscheinlich jedes "Advanced Import / Export" -Plugin ausprobiert und noch nichts, um dieses Problem zu lösen.

In einem anderen Thread hat jemand auf dieses Plugin hingewiesen, um ein Thema auf der Live-Site zu installieren und zu bearbeiten, während die regulären Benutzer das vorhandene Thema weiterhin sehen, das jedoch noch nicht alle Arten von Änderungen löst. Denn wenn Sie Änderungen am Inhalt vornehmen möchten, beispielsweise im Fußzeilen- oder Navigationsmenü, werden diese weiterhin im vorhandenen anzeigbaren Thema / auf der vorhandenen Website wiedergegeben und sehen auf dem neuen Testthema möglicherweise gut aus, aber nicht auf dem Live-Thema.

Gibt es keine Möglichkeit, einen "Zweig" einer Site auf derselben Site / Datenbank zu entwickeln und dann zu wechseln? oder gibt es keine möglichkeit, sich auf einer dev-site zu entwickeln, aber dann datenbanken zerstörungsfrei zusammenzuführen? Wenn Sie wissen, welche Komponenten und Dinge Sie betroffen haben, gibt es keine Möglichkeit, dies zu tun? oder müsstest du ein MySQL-Master sein, um so etwas zu versuchen.

Ich kann nicht der einzige sein, der dieses Rätsel hat. Ich kann mir nicht vorstellen, dass es für dieses Problem keine Lösung gibt. Wie geht das?

Danke im Voraus.

James
quelle
3
Jeder hat dieses Problem und es gibt keine einfache Lösung. Behalten Sie den Code in der Versionskontrolle, sichern Sie SQL-Code häufig auf einem Staging-Server, und erstellen Sie Wartungssperrungen bei Migrationen (5-10 Minuten).
Wyck
Ich würde nicht zustimmen. Das RAMP-Plugin von CrowdFavorite ist eine einfache Lösung für diejenigen, die Inhalte bereitstellen und bereitstellen müssen. Es als "einfache Lösung" zu bezeichnen, mag etwas schwierig sein, aber es ist gut und jeder Entwickler sollte in der Lage sein, es einzurichten (erfordert SSH und Remote-Zugriff auf MySQL usw.)
jb510
Hat jemand Sitepush ausprobiert ? Es macht mir nichts aus, 250 US-Dollar für Ramp zu zahlen, wenn es eine bessere Lösung ist, aber es ist von außen schwer zu erkennen, wie gut diese Systeme funktionieren, wenn sie nicht vollständig implementiert und getestet werden.
James
Sitepush wurde nicht verwendet. Klingt so, als ob es komplette DBs schiebt (wie Migrate WP DB Pro). Es ist gut für die Bereitstellung einer statischen Site, schlägt jedoch bei einer Live-Dynamik fehl (dh, es werden neue Posts / Kommentare erstellt). RAMP verwaltet tatsächlich die Unterschiede zwischen DBs und Merges und ersetzt nicht die Live-DB.
jb510
Möglicherweise möchten Sie DBV PHP verwenden , ein Open-Source-Projekt, das Ihre Datenbank der Versionskontrolle unterwirft. Es hat sogar eine Benutzeroberfläche, um die Verwaltung zu vereinfachen. Eine andere Möglichkeit wäre, beispielsweise auf Laravel umzusteigen, dessen CLI-App ein Migrationstool enthält.
Kaiser

Antworten:

2

Wirklich kein einfacher Weg, um das zu tun, was Sie wollen, aber ich würde einen Schnappschuss Ihrer Site machen, Ihre Änderungen implementieren und, wenn etwas bremst, wiederherstellen und es erneut versuchen. Es könnte eine Stunde lang nicht funktionieren, aber ich habe das erst kürzlich getan, als ich eine Site gemauert habe, an der ich gearbeitet habe. Dies ist möglicherweise nicht der "richtige" Weg, um das Problem zu lösen, aber für mich funktioniert es. Viel Glück.

user57081
quelle
Wie kann es möglich sein, dass das WP-Team nicht über eine professionelle Vorgehensweise nachdenkt? es ist 2018 !!
Asael2