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?
8
updating
configuration-management
gapple
quelle
quelle
Antworten:
Updates müssen ausgeführt werden, bevor die Konfiguration importiert wird
Ein anstehendes Problem mit dem Core stellt sicher, dass die Code- und Schemaversionen übereinstimmen, bevor die Konfiguration importiert werden kann .
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.
quelle