Dans Drupal 8 la commande Drush drush variable-set
ne fonctionne plus.
D'après la lecture ( ici ), il apparaît que Drupal 8 a un nouveau système de "configuration" qui remplace les anciennes "variables" (Drupal <= 7). Mais ce qui est la nouvelle commande Drush pour atteindre les mêmes fins?
Plus précisément, je veux convertir les commandes:
drush variable-set site_mail [email protected]
drush variable-set update_notify_emails [email protected]
au nouvel équivalent Drupal8/Drush8 ...
Après quelques recherches supplémentaires, il semble que la nouvelle commande soit:
drush config-set <config-name> <key>
(où l'ancien format était drush variable-set <name> <value>
). Alias: cset
.Je ne suis donc pas totalement sûr d'avoir ce droit (donc un commentaire et/ou une autre réponse de quelqu'un qui le ferait serait bien ...), mais il semble que la configuration qui inclut les e-mails soit: contact.form.feedback recipients
, update.settings notification.emails
et system.site mail
.
Cette mise à jour est le résultat d'une bonne discussion (ci-dessous). Notez que certains paramètres sont des tableaux (plutôt que des chaînes):
www/drupal8# drush config-get update.settings notification
'update.settings:notification':
emails:
- [email protected]
threshold: all
pour mettre à jour cela, vous devez exécuter:
drush -y config-set update.settings notification.emails.0 [email protected]
Source: Tirez parti de Drush 7 pour Drupal 8 .
Remarque: Drush 7 ne prend plus en charge Drupal 8, mais cela s'applique toujours.
Suivi supplémentaire,
Pour trouver les identifiants pour la configuration à obtenir ou à définir,
$config['varname']
vous pourriez mettre dans $settings.php
, et drush vset/vgetadmin/config/development/configuration/single
) fournit quelque chose d'un navigateur de variables.Je voulais mettre à jour mon local.settings.php
pour toujours désactiver l'agrégation css & js lors de la synchronisation descendante.
D7:
$conf['preprocess_css'] = FALSE;
$conf['preprocess_js'] = FALSE;
D8:
$config['system.performance']['css']['preprocess'] = 0;
$config['system.performance']['js']['preprocess'] = 0;
(Et notez que ce type de remplacement NE SERA PAS affiché dans votre interface d'administration ou dans drush config-get
... bien que cela prenne effet)
Cela a fonctionné pour moi. C'est une commande Drush PHP EVAL.
drush ev '\Drupal::state()->set("MY_VARIABLE", "MY_VALUE")'
Ici, il est utilisé pour définir l'état de MY_VARIABLE
Vous pouvez également get l'état d'une variable:
drush ev 'echo \Drupal::state()->get("MY_VARIABLE")'