Ich erstelle ein benutzerdefiniertes Modul in Drupal 8. Es enthält einige YAML-Konfigurationsdateien.
Während der Entwicklung muss ich die Konfiguration ändern und ergänzen, z. B. um ein weiteres Feld zu meiner benutzerdefinierten Entität hinzuzufügen.
Derzeit habe ich nur die Möglichkeit gefunden, Drupal auf die Änderungen aufmerksam zu machen, indem ich das Modul deinstalliere und erneut installiere.
Gibt es eine Möglichkeit, Drupal zu veranlassen, zu überprüfen, ob die von Modulen bereitgestellten Konfigurationsdateien mit der aktiven Konfiguration identisch sind, und wenn nicht, die aktive Konfiguration zu aktualisieren? Wie werden Modulupdates gehandhabt? In D7 hook_update_N
würde verwendet, um Felder mit PHP hinzuzufügen, aber es sieht so aus, als sollte dies vom CM in D8 behandelt werden?
Dinge, die ich versucht habe, nachdem ich die yml-Dateien im Modul aktualisiert habe:
drush cr
, Config Sync.Manuelles Kopieren aller aktualisierten Konfigurationsdateien nach
sites/default/files/config_XXX/staging/
- dies führt jedoch zu dem Fehler "Die bereitgestellte Konfiguration kann nicht importiert werden, da sie von einer anderen Site als dieser Site stammt. Sie können die Konfiguration nur zwischen geklonten Instanzen dieser Site synchronisieren." .Manuelles Importieren der Dateien nacheinander mit dem Konfigurationsmanager. Das funktioniert, aber natürlich muss es einen automatischeren Weg geben.
[EDIT] Verwenden Sie das config_update- Modul manuell , um Änderungen zu überprüfen und die Konfiguration des Moduls wiederherzustellen . Auch dies ist manuell.
BEARBEITEN: Vom Verwalten der Konfiguration - Tun und Verbieten
NICHT
Versuchen Sie, die aktive Konfiguration auf Ihrer Site zu ändern, indem Sie die Dateien im Konfigurations- / Installationsverzeichnis eines Moduls ändern. Dies funktioniert NICHT, da Drupal nur dann aus diesem Verzeichnis liest, wenn das Modul installiert ist.
... ändert aber es sind gehen passieren, es sei denn , Module gebunden sind , was auch immer Config sie in ihrem ersten Release erforderlich und aktualisieren nie oder Config hinzuzufügen.
Danke im Voraus.
hook_update_N
würde ich annehmen, aber ich bin nicht sicher, was
hook_update_N
. Hervorragender Artikel über Drupal 8 für kleine Websites (und Teil 2 ). In D8 "besitzen Sites ihre Konfiguration, keine Module" .