Eu pensei que esse era um caso de uso simples do novo sistema de gerenciamento de configuração, mas não tive sorte em descobrir como resolver isso:
Problema
Desejo armazenar a configuração no git e usar drush para exportar a configuração durante o desenvolvimento e, em seguida, importar a configuração. Bem parecido com a reversão de recursos no Drupal 7. Meu problema é que não quero armazenar códigos de acesso no git para várias integrações. Isso resulta na exclusão dessas configurações em
$ drush cim -y
Onde eu olhei
Eu esperava que houvesse uma lista / configuração simples para configurações que deveriam ser excluídas na importação / exportação. Parece que houve em algum momento, mas deve ter sido removido novamente, uma vez que está disponível no momento no Drupal 8.
Examinei como as alterações de configuração estão sendo feitas comparando o armazenamento ativo e de sincronização para ver se existe um local onde eu poderia remover as alterações, mas esse não parecia ser o caso. Eu olhei o quanto a configuração é importada, pois tem algumas configurações excluídas, mas não parecia extensível. Eu olhei ConfigEvents
, mas tudo isso parece acontecer após uma importação, então não parece que isso possa ser usado.
Estou faltando alguma coisa ou não é possível simplesmente excluir configurações da importação / exportação?
fonte
Você pode usar o módulo "Config Ignore": https://www.drupal.org/project/config_ignore
fonte
Você pode usar uma combinação de config_ignore e config_split para isso.
A opção Ignorar configuração permite ignorar um subconjunto de entidades de configuração durante a importação (também impede exclusões desde a versão 2.x). Infelizmente, isso não impede a exclusão da configuração durante a exportação.
Para excluir entidades de configuração durante a exportação, você pode usar o config_split, criar uma nova entidade config_split e deixar a pasta vazia. Isso impede que a configuração seja exportada para o sistema de arquivos; em vez disso, exporta-o no banco de dados.
Eu escrevi Excluir configuração do gerenciamento de configuração no Drupal 8 sobre este tópico.
fonte
Para dividir as configurações, você pode usar https://www.drupal.org/project/config_split .
Você pode dividir as exportações em diferentes diretórios que você pode ignorar.
Houve uma apresentação muito agradável em drupal con dublin 2016 pelas pessoas encarregadas da iniciativa CMI, que exorto você a conferir, não importa o quê.
fonte
Acabei de testar o @berdir na resposta nº 1 e ele funciona perfeitamente. Só eu adiciono uma pequena nota: você tem que colocar toda a configuração nesta var, completa. Fora isso, $ config var não funciona corretamente.
Algo assim:
Documentação: https://www.drupal.org/node/1928898
Observe a documentação acima: "Observe que os valores substituídos via $ config em settings.php não serão visualizados na interface de administração do Drupal."
fonte
$config['module.settings']['some']['value'] = 'foo';
Eu me pergunto um pouco por que ninguém mencionou as ferramentas Drush CMI até agora. As palavras mágicas são
drush cexy
econfig-ignore.yml
. Você terá uma lista que pode ajustar. Precisávamos disso uma vez para excluir instâncias de bloco e, ao mesmo tempo, processar as bases de bloco.Fonte: https://www.previousnext.com.au/blog/introducing-drush-cmi-tools
Fonte: https://github.com/previousnext/drush_cmi_tools
fonte
Usando a divisão de configuração (recomendada)
O módulo de divisão de configuração foi feito especificamente para essa necessidade.
A divisão de configuração é integrada ao drush.
Usando apenas Drush
Drush também deve ser capaz de fazer isso usando a
--skip-modules
bandeira.Você pode adicionar as seguintes linhas em um drupal / drushrc.php na raiz da web do seu projeto para fazê-lo automaticamente.
Consulte http://www.drush.org/en/master/config-exporting/#ignoring-development-modules
Infelizmente, há um erro com esta funcionalidade: https://github.com/drush-ops/drush/issues/1820 . Portanto, no momento, você também precisa adicionar esses arquivos de configuração no seu .gitignore para que os arquivos de configuração exportados não sejam comprometidos. O seu é contínuo para talvez abandonar essa funcionalidade (buggy) do drush em favor da divisão de configuração.
fonte