Sto costruendo un modulo personalizzato in Drupal 8. Include alcuni file di configurazione YAML.
Durante lo sviluppo, devo modificare e aggiungere la configurazione, ad esempio per aggiungere un altro campo alla mia entità personalizzata.
Al momento l'unico modo per trovare Drupal che nota le modifiche è disinstallare il modulo e reinstallarlo.
C'è un modo per convincere Drupal a verificare che i file di configurazione forniti dai moduli siano gli stessi della configurazione attiva e, in caso contrario, aggiornare la configurazione attiva? Come vengono gestiti gli aggiornamenti dei moduli? In D7 hook_update_N
sarebbe usato per aggiungere campi usando PHP, ma sembra che questo dovrebbe essere gestito dal CM in D8?
Cose che ho provato dopo aver aggiornato i file yml nel modulo:
drush cr
, config sync.copiando manualmente tutti i file di configurazione aggiornati in
sites/default/files/config_XXX/staging/
- ma questo dà questo errore "La configurazione a fasi non può essere importata, perché proviene da un sito diverso da questo sito. Puoi sincronizzare la configurazione solo tra istanze clonate di questo sito." .importando manualmente i file uno ad uno usando il config manager. Funziona, ma ovviamente ci deve essere un modo più automatico.
[EDIT] usa manualmente il modulo config_update per ispezionare le modifiche e "ripristinare" la configurazione del modulo. Ancora una volta, questo è manuale.
MODIFICA: Da Gestione della configurazione - cosa fare e cosa non fare
DA EVITARE
Prova a cambiare la configurazione attiva sul tuo sito modificando i file nella directory config / install di un modulo. Questo NON funzionerà perché Drupal leggerà da quella directory solo quando il modulo è installato.
... ma i mutamenti ci sono andando ad accadere, a meno che i moduli sono tenuti a tutto ciò di cui avevano bisogno config nel loro primo rilascio, e non può mai mai aggiornare o aggiungere config.
Grazie in anticipo.
hook_update_N
Presumo che ci sia qualcosa , ma non sono sicuro di cosa
hook_update_N
. Ottimo articolo su Drupal 8 per piccoli siti (e parte 2 ). In D8 "i siti possiedono la loro configurazione, non i moduli" .