Datentransfer zwischen zwei Servern nach Drupal-Update auf 8.9.1 [gelöst]
am 11.05.2023 - 08:53 Uhr in
Hallo zusammen,
ich habe eine methodische Frage, zu der ich mir Hilfe, Ideen oder Inspirationen hier im Forum erhoffe.
Ich habe von Server A Drupal auf einem Server B übertragen. Auf Server B habe ich Drupal8 auf Drupal8.9.1 geupgraded.
Zwischenzeitlich wurde an Server A gearbeitet und die Inhalte haben sich geändert. Daher möchte ich nur die Daten von Server A auf B übertragen.
Nun stelle ich mir die Frage, wie das am sichersten funktionieren kann?
Folgendes habe ich getestet:
Backup Modul kann ich nicht nutzen, da die Oberfläche nach dem Upgrade eine andere ist und auf Server A kein passender Export ermöglicht wird (sonst zu große Datenmengen)
- Ich habe daher alle Dateien aus dem ordner files auf Server B per FTP übertragen
- In files habe ich css, js und php in der Version von Server B belassen
- SQL-TAbellen: Testweise habe ich alle node-SQL-Tabellen kopiert, was aber nicht klappte und teile der Webseite nicht funktionieren
- SQL-TAbellen: Gibt es eine Liste, welche Tabellen von Server A nach B kopiert werden dürfen oder welche nicht?
Es wäre echt toll, wenn ihr mir Tipps geben könntet. Vielen Dank schonmal!
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich mache das so:Public-
am 11.05.2023 - 10:45 Uhr
Ich mache das so:
Anschließend update.php laufen lassen.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke, für die schnellen und
am 11.05.2023 - 11:09 Uhr
Danke, für die schnellen und genauen Tipps!
Welche Datenbanktabellen schließt du aus, wenn du nur die Daten auf eine neuere Drupalversion übertragen möchtest?
Ich habe festgestellt, dass Drupal 8.9.1 eine neue Datenbanktabelle erzeugt hat: config_import
Ich schließe nur, wie auch
am 11.05.2023 - 13:41 Uhr
Ich schließe nur, wie auch Backup&Migrate, die Daten der Cache-Tabellen aus. Die Struktur aller Tabellen muß mitkommen. Wenn 8.9.1 eine neue Tabelle erzeugt hat, sollte die durch den Lauf von update.php wieder erzeugt werden. Das ist der Sinn der Update Funktionen in den Modulen (sowohl core als auch contrib). Im Übrigen meint mein "Datenbank leeren" in der Anleitung das Löschen aller vorhandenen Tabellen.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ergänzende Warnungen bezüglich Updates und Datenbank
am 22.05.2023 - 10:13 Uhr
Zunächst mal möchte ich noch mal betonen, daß man nicht selbst raten sollte, welche Tabellen Sinn machen "transportiert" zu werden. Im Zweifel alles nehmen.
Denn die Datenbank-Struktur unterscheidet sich nicht nur in der Anzahl von Tabellen. Es können via Update-Routinen der Module (core und contrib) auch Tabellen-Spalten erzeugt werden usw. Die Datenbank muss immer zum Code passen.
Downgrades sind bei Drupal auch nicht vorgesehen. Das heißt es geht immer nur vorwärts, ansonsten wird es kompliziert. Aus dem Grund testet man eben auch Code-Updates, so daß das beschriebene Vorgehen mit einem zweiten Server zu arbeiten generell empfehlenswert ist.
Und auf dem Ziel-System sollte man nach erfolgreichen Tests immer noch mal den Wartungsmodus einschalten, um weitere Änderungen zu verhindern, dann ein volles Backup inkl. Datenbank-Strukur durchführen und dann die Datenbank mit dem Update script (empfehlenswert ist
drush updb
). Und wenn dann trotz Tests noch was schief läuft und man das Backup wieder einspielen möchte, sollte man wie Werner schreibt die Datenbank leeren (oder weil schneller: löschen und neu anlegen) und dann Datenbank-Strukur und -Daten wieder importieren.Ein einfaches Überschreiben lässt nämlich neue Tabellen unberührt und wenn dann das Update-Script versucht, diese neu anzulegen, wird es übel. Und falls dann das Backup nur Daten enthält, würde es kompliziert werden.
In unseren Systemen testen wir übrigens nächtlich automatisch ein Vollbackup in Kombination mit dem aktuellen Code für die Produktiv-Systeme (via Gitlab CI System) für alle betreuten Produktiv-Systeme.
Denn generell sollten Backups nicht nur gemacht, sondern auch überprüft werden, ob sie vollständig und nutzbar sind. Sonst sind es nämlich keine Backups im eigentlichen Wortsinn, sondern nur irgendwelche Kopien von Daten, die evtl. nicht vollständig sind und nur eine trügerische Sicherheit.
Edit: Tippfehler behoben
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Vielen Dank für eure
am 24.05.2023 - 14:52 Uhr
Vielen Dank für eure Hilfe!
Ich habe nun folgendes gemacht: