Derzeit verwende ich ein Dump-Skript und übertrage die Datenbank auf das Git-Repo.
--skip-extended-insert --skip-comments --skip-dump-date
bedeutet, dass ein Diff mir eine gute Vorstellung davon geben kann, was sich geändert hat, aber alles fällt zusammen, wenn ich versuche, es zusammenzuführen.
WP_SITEURL, WP_HOME und alle anderen Orte, an denen WordPress vollständige URLs speichert, müssen beim Import auf einen anderen Host aktualisiert werden (Testen, Staging, Produktion).
Verwendet jemand eine bessere Methode?
Hauptprobleme:
- Wordpress speichert vollständige URLs in der gesamten Datenbank (nicht portierbar).
- Viele andere, nicht relevante Datensätze ändern sich
- auto_increment-Werte (ich entferne diese nur, bin aber auf ID-Probleme gestoßen)
- Zeitstempel (können möglicherweise auch entfernt werden)
- vorübergehende * Aufzeichnungen ... keine Ahnung, was mit ihnen zu tun ist
Ein Prozess, bei dem zeitgestempelte Migrationen erstellt wurden, bei denen nur die Dinge hinzugefügt oder entfernt wurden, wäre ideal ... aber ich bin mir nicht sicher, ob dies überhaupt möglich ist?
database
migration
version-control
Jacob Dorman
quelle
quelle
Antworten:
Hier sind zwei mögliche Lösungen: Beide sind generische MySQL-Tools zur Versionskontrolle, können jedoch an Ihren Workflow angepasst werden:
dbv.php
Dieses Tool erstellt aus den in der Datenbank festgestellten Änderungen "Migrationen", bei denen es sich im Grunde um SQL-Skripte handelt. Diese Skripte werden in einem lokalen Verzeichnis gespeichert und können somit in Ihr aktuelles VCS (z. B. git) übernommen werden.
Es wird über eine PHP-Weboberfläche verwendet.
DBVC
Grundsätzlich ähnlich wie beim vorherigen Tool basiert dies auf einer Befehlszeilenschnittstelle. Es wird über eine JSON-Datei konfiguriert. Der Hauptunterschied besteht darin, dass die Migrationsdateien nicht automatisch generiert werden.
Es gibt ein anstehendes Problem, um dies mit dem vorherigen ähnlichen zu integrieren, also ist das etwas, wonach man suchen muss.
Wordpress Plugins
Einige Plugins, die bei der Erstellung eines wiederholbaren Workflows helfen könnten:
quelle
Ich mache das auf MYSQL.
Es fügt alle Tabellenschemata und Daten in eine eigene Datei ein, sodass ich leicht sehen kann, was sich geändert hat.
Im Gegensatz zu den meisten anderen Lösungen in diesem Thread erhält diese Lösung die Daten, die für ein CMS wichtig sind.
Diese Lösung verwendet keine Tools, nur ein Befehlszeilenskript.
Bearbeiten: Ich fand, dass mein älterer Code einen Fehler hatte, bei dem die Importreihenfolge wichtig war. Das Entfernen der
--compact
Flagge behebt den Fehler.Älterer Code
und hier erfahren Sie, wie Sie importieren
quelle