Qual é o comando que substitui 'drush variable-set'?
14
No Drupal 8, o comando Drush drush variable-setnão funciona mais.
Pela leitura ( aqui ), parece que o Drupal 8 possui um novo sistema de "configuração" que substitui as "variáveis" antigas (Drupal <= 7). Mas qual é o novo comando Drush para alcançar os mesmos fins?
drush config-set <config-name> <key>(onde estava o formato antigo drush variable-set <name> <value>). Alias: cset.
Então eu não estou totalmente certo de que tenho esse direito (assim comentário e / ou outra resposta de alguém que faz seria ótimo ...), mas parece que a configuração que inclui e-mails são: contact.form.feedback recipients, update.settings notification.emailse system.site mail.
Esta atualização é o resultado de uma boa discussão (abaixo). Observe que algumas configurações são matrizes (em vez de cadeias):
www/drupal8# drush config-get update.settings notification'update.settings:notification':
emails:- admin@example.com
threshold: all
Há também o drush cedit, que permite editar o arquivo em um editor. Acho que você precisaria de notification.emails.0 ou mais para defini-lo como uma lista, não tenho certeza.
Berdir 02/07/2015
O formato alterado pode causar falhas nas notificações. No caso original, emailhá uma matriz que contém [email protected](por exemplo, vários endereços de email), mas como resultado você se transformou emailem uma string contendo [email protected](por exemplo, um endereço de email único).
Alma
@ Alma - Obrigado pela atenção. Como garantir que ele seja inserido como uma matriz?
Jeremy Davis
1
Sim. A solução de Berdir funciona. Então você faria "drush config-set update.settings notification.emails.0 [email protected]". Apenas testei agora.
Alma
1
A drush config-listimprimirá todas as categorias de configuração possíveis para você analisar. Caso você precise encontrar todos eles.
Eric Steinborn 8/08/16
5
Acompanhamento adicional,
Para encontrar os identificadores para a configuração obter ou definir,
Você não pode mais adivinhar os nomes das variáveis das máquinas apenas examinando os formulários de configurações do sistema. Costumava haver uma correspondência 1: 1: 1 entre o elemento de formulário visto em muitas telas de configuração, o que $config['varname']você poderia colocar $settings.phpe drush vset / vget
O gerenciador de configuração na interface do usuário (encontrado em admin/config/development/configuration/single) fornece uma espécie de navegador variável.
Eu queria atualizar o meu local.settings.phppara sempre desativar a agregação de css e js ao fazer downsyncing.
email
há uma matriz que contém[email protected]
(por exemplo, vários endereços de email), mas como resultado você se transformouemail
em uma string contendo[email protected]
(por exemplo, um endereço de email único).drush config-list
imprimirá todas as categorias de configuração possíveis para você analisar. Caso você precise encontrar todos eles.Acompanhamento adicional,
Para encontrar os identificadores para a configuração obter ou definir,
$config['varname']
você poderia colocar$settings.php
e drush vset / vgetadmin/config/development/configuration/single
) fornece uma espécie de navegador variável.Eu queria atualizar o meu
local.settings.php
para sempre desativar a agregação de css e js ao fazer downsyncing.D7:
D8:
(Observe que esse tipo de substituição NÃO aparecerá na interface do usuário do administrador ou em
drush config-get
... embora entre em vigor)fonte
drush -y config-set system.performance css.preprocess 0
&&drush -y config-set system.performance js.preprocess 0
Isso funcionou para mim. É um comando Drush PHP EVAL.
Aqui está sendo usado para definir o estado de MY_VARIABLE
Você também pode obter o estado de uma variável:
fonte