Estou construindo um módulo personalizado no Drupal 8. Ele inclui alguns arquivos de configuração YAML.
À medida que desenvolvo, preciso alterar e adicionar à configuração, por exemplo, para adicionar outro campo à minha entidade personalizada.
No momento, a única maneira que encontrei para fazer o Drupal perceber as alterações é desinstalar o módulo e reinstalá-lo.
Existe uma maneira de fazer com que o Drupal verifique se os arquivos de configuração fornecidos pelos módulos são iguais aos da configuração ativa e, caso contrário, atualize a configuração ativa? Como são tratadas as atualizações do módulo? Em D7 hook_update_N
seria usado para adicionar campos usando PHP, mas parece que isso deve ser tratado pelo CM em D8?
Coisas que tentei após atualizar os arquivos yml no módulo:
drush cr
, sincronização de configuração.copiar manualmente todos os arquivos de configuração atualizados para
sites/default/files/config_XXX/staging/
- mas isso gera este erro "A configuração em estágios não pode ser importada, porque se origina de um site diferente desse site. Você só pode sincronizar a configuração entre instâncias clonadas deste site". .importando manualmente os arquivos um por um usando o gerenciador de configuração. Isso funciona, mas obviamente deve haver uma maneira mais automática.
[EDIT] use manualmente o módulo config_update para inspecionar alterações e 'reverter' para a configuração do módulo. Novamente, isso é manual.
EDIT: Do gerenciamento de configuração - faça e não faça
NÃO É
Tente alterar a configuração ativa no seu site alterando os arquivos no diretório config / install de um módulo. Isso NÃO funcionará porque o Drupal somente lerá esse diretório quando o módulo estiver instalado.
... mas muda há vai acontecer, a menos que os módulos estão ligados a qualquer config-se necessária em seu primeiro lançamento, e pode nunca atualizar ou adicionar configuração.
Desde já, obrigado.
hook_update_N
que eu suponho, mas não sei ao certo o que
hook_update_N
. Excelente artigo sobre o Drupal 8 para sites pequenos (e parte 2 ). No D8 "os sites possuem sua configuração, não os módulos" .