it-swarm.com.de

In welcher Reihenfolge sollten Konfigurationsimport und Modulaktualisierungen ausgeführt werden?

Da die Schemaversion von Modulen im Schlüsselwertspeicher gespeichert ist, ist sie für jeden Standort eindeutig und wird nicht über das Konfigurationsmanagement synchronisiert. Dies ist sinnvoll, da Aktualisierungen möglicherweise Anpassungen vornehmen müssen, die nicht in der Konfiguration enthalten sind (z. B. Datenbankaktualisierungen). Es gibt jedoch auch andere Änderungen, die möglicherweise in der Konfiguration enthalten sind (z. B. Hinzufügen eines neuen Konfigurationswerts).

  • Gibt es Risiken beim Ausführen von Konfigurationsimporten und Datenbankaktualisierungen in beiden Reihenfolgen?
  • Was ist die bevorzugte Reihenfolge für die Ausführung dieser Vorgänge?
  • Müssen Update-Hooks spezielle Anpassungen für Konfigurationselemente vornehmen, die möglicherweise bereits importiert wurden?
  • Gibt es andere Vorgänge, die möglicherweise erforderlich sind, um die Produktionsumgebung vollständig zu aktualisieren?
10
gapple

Updates müssen ausgeführt werden, bevor die Konfiguration importiert wird

Ein anstehendes Problem mit dem Kern wird stellen Sie sicher, dass die Code- und Schemaversionen übereinstimmen, bevor Sie den Import der Konfiguration zulassen .


Probleme beim Konfigurationsimport vor Updates

  • Ein Update-Hook, der auf einem Konfigurationswert basiert, kann zu einem anderen Ergebnis führen, als wenn er mit dem Wert vor dem Import ausgeführt würde.

  • Ein Update kann möglicherweise fehlschlagen, wenn versucht wird, bereits vorhandene Konfigurationsentitäten zu erstellen.

Bedenken hinsichtlich des Konfigurationsimports nach Updates

  • Wenn zuerst ein Update ausgeführt wird, das eine neue Konfigurationsentität einführt, wird ein neues Konfigurationselement erstellt, dessen UUID sich von der in der Konfiguration unterscheidet. Sobald die Konfiguration importiert wurde, sollte die Entität jedoch durch die Konfigurationsversion ersetzt werden.

    Hier könnte ein potenzielles Problem auftreten, wenn das Ersetzen der Entität den zugehörigen Inhalt beeinträchtigen würde. Wenn ein Update beispielsweise Inhalte von einem Feld in ein anderes migriert, wird das Feld beim Konfigurationsimport vollständig ersetzt und der Inhalt geht möglicherweise verloren. In diesem Fall muss der Bereitstellungsprozess möglicherweise angepasst werden, um die Aktualisierungen in der Zielumgebung auszuführen und die resultierende Konfiguration zu exportieren.

12
gapple