Wie fusioniere ich Änderungen von einer Entwicklungskopie der Website zur Live -Website, ohne neue Inhalte zu verlieren?

drupal.stackexchange https://drupal.stackexchange.com/questions/137

  •  16-10-2019
  •  | 
  •  

Frage

Was ist das beste Verfahren, um Arbeiten auf einer Entwicklungskopie einer Website an die Live -Produktionskopie zu verschmelzen? Oft wurden seit der Entwicklung der neuesten Funktionen viele neue Inhalte hinzugefügt. Die meisten Ergänzungen zu einer Website umfassen Datenbankänderungen. Das Kopieren neuer Dateien ist also einfach, aber was ist mit der Datenbank? Wie fusionieren Sie Ihre Änderungen mit der vorhandenen Produktionsdatenbank, ohne neue Inhalte zu verlieren, die seit dem letzten Aktualisierung der Produktionsseite hinzugefügt wurden? Gibt es Module, die dabei helfen?

War es hilfreich?

Lösung

Für Inhaltstypen, Ansichten und Strukturänderungen auf der Dev -Site -Betrachtung der Verwendung Merkmale So exportieren Sie die Datenbank in Code.

Für die Inhaltsmigration gibt es viele Optionen, aber keine einzige solide Lösung. Ein Beispiel ist das Bereitstellungssuite.

Andere Tipps

Ich habe hier grundsätzlich zwei Denkschulen übernommen (eine dritte Denkschule, die Datenbankdiffs durchführt, ich werde nicht diskutieren, weil die Komplexität ziemlich hoch ist).

1) Bereitstellen, indem Sie die Produktionsdatenbank fallen lassen und einen MySQLDUMP der Entwicklungsdatenbank importieren. Führen Sie optional einen Regex-Finden/Ersetzen Sie im Voraus auf fest codierten Absolute-Links aus, die auf die Dev-URL im SQL-Dump verweisen. Führen Sie nach dem Importieren des Entwicklers in ProD SQL -Anweisungen (normalerweise über Skript) automatisch anschließend an, um alle Einstellungen zu ändern, die für prod als dev unterschiedlich sind Wechseln Sie zu den externen Systemen von prod anstatt in der Dev -Version).

2) Verwenden Sie die Merkmale Modul, wie von Budda erwähnt, für Administratoreinstellungen und verwenden Sie die Knotenexport Modul für den Export/Importieren von Inhalten in Kombination mit dem Alles löschen Modul. Der Workflow ist also:

  1. Verwenden Sie node_export und Funktionen, um Knoten/Funktionen in Dateien zu exportieren
  2. Optional (und hoffentlich) Versionskontrolle
  3. Laden Sie Dateien auf dem Prod -System
  4. Verwenden Sie die DRUSH- oder Admin -Schnittstelle, um Funktionen zu laden
  5. Verwenden Sie die Delete-All- oder Admin-Schnittstelle zum Löschen von Drosellern, um alle Knoten der Typen zu löschen, die Sie importieren möchten
  6. Verwenden Sie das DRUSH NE-Import oder die Admin-Schnittstelle, um die Knoten aus der von Ihnen exportierten Knotendatei zu importieren.

Ein Hinweis, ich würde sehr empfehlen, einen Standard -Workflow zu übernehmen, bei dem der Inhalt nur in die eine Richtung geht. Entweder dev -> prod oder prod -> dev (ich bevorzuge diese).

Ich habe dies getan und mache dies in einigen großen Systemen mit ziemlich guten Ergebnissen, aber es wird immer viele Möglichkeiten geben, diesen Apfel zu schneiden.

Dump -Datenbanken der Live -Site -Kopie & Entwicklungskopie der Site in SQL -Datei (Verwenden Sie die gleichen Parameter und Einstellungen für beide Dumps).
Vergleichen Sie dann beide SQL -Dateien mit einem kleinen Vergleichstool Prüfung. Es werden Dateiunterschiede nebeneinander mit unterschiedlichen Farben angezeigt. Sie können auch direkt zu den Unterschieden springen (ohne zu scrollen). Untersuchen Sie die Unterschiede und fügen Sie Zeilen zur SQL -Datei der Live -Site hinzu. Stellen Sie sicher, dass es in dieser Datei keinen absoluten Pfad/URL der Entwicklungsumgebung gibt. Das ist erledigt! Zeit, die Datenbank für Live -Site wiederherzustellen.
Machen Sie Ihr Leben leichter: Dumpen Sie im ersten Schritt nur die Tische, die geändert werden. Wenn Sie beispielsweise ein Modul in der Entwicklungskopie bearbeitet haben, das auf eine separate Tabelle abzielt, lassen Sie nur diese Tabelle ab. Wenn Sie sich über eine bestimmte Tabelle nicht sicher sind, ist die gesamte Datenbank -Dump in Ordnung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top