¿Cuál es el comando que reemplaza 'drush variable-set'?
14
En Drupal 8, el comando Drush drush variable-setya no funciona.
De la lectura ( aquí ) parece que Drupal 8 tiene un nuevo sistema de "configuración" que reemplaza las antiguas "variables" (Drupal <= 7). Pero, ¿cuál es el nuevo comando Drush para lograr los mismos fines?
Después de investigar un poco más, parece que el nuevo comando es:
drush config-set <config-name> <key>(donde estaba el formato anterior drush variable-set <name> <value>). Alias: cset.
Así que no estoy totalmente seguro de que tengo este derecho (por lo comentarios y / o otra respuesta de alguien que sería grande ...), pero parece que la configuración que incluye mensajes de correo electrónico son: contact.form.feedback recipients, update.settings notification.emailsy system.site mail.
Esta actualización es el resultado de una buena discusión (a continuación). Tenga en cuenta que algunas configuraciones son matrices (en lugar de cadenas):
www/drupal8# drush config-get update.settings notification'update.settings:notification':
emails:- admin@example.com
threshold: all
También hay drit cedit, que le permite editar el archivo en un editor. Supongo que necesitarías un mensaje de notificación.emails.0 más o menos para establecerlo en una lista, no estoy seguro.
Berdir
El formato modificado puede hacer que sus notificaciones fallen. En el caso original emailes una matriz que contiene [email protected](es decir, varias direcciones de correo electrónico), pero en su resultado se ha convertido emailen una cadena que contiene [email protected](es decir, una sola dirección de correo electrónico).
Alma
@Alma - Gracias por el aviso. ¿Cómo me aseguro de que se ingrese como una matriz?
Jeremy Davis
1
Si. La solución de Berdir funciona. Entonces, haría "drush config-set update.settings notify.emails.0 [email protected]". Solo lo probé yo mismo ahora.
Alma
1
A drush config-listimprimirá todas las categorías posibles de configuración para que pueda analizarlas. En caso de que alguna vez necesites encontrarlos a todos.
Eric Steinborn
5
Seguimiento adicional,
Para encontrar los identificadores para la configuración para obtener o establecer,
Ya NO puede adivinar los nombres de máquina de las variables simplemente inspeccionando los formularios de configuración del sistema. Solía haber una coincidencia 1: 1: 1 entre el elemento de formulario que se ve en muchas pantallas de configuración, el $config['varname']que podría poner $settings.phpy drush vset / vget
El administrador de configuración en la interfaz de usuario (que se encuentra en admin/config/development/configuration/single) proporciona una especie de navegador variable.
Quería actualizar mi local.settings.phppara deshabilitar siempre la agregación css & js cuando se reduce la sincronización.
email
es una matriz que contiene[email protected]
(es decir, varias direcciones de correo electrónico), pero en su resultado se ha convertidoemail
en una cadena que contiene[email protected]
(es decir, una sola dirección de correo electrónico).drush config-list
imprimirá todas las categorías posibles de configuración para que pueda analizarlas. En caso de que alguna vez necesites encontrarlos a todos.Seguimiento adicional,
Para encontrar los identificadores para la configuración para obtener o establecer,
$config['varname']
que podría poner$settings.php
y drush vset / vgetadmin/config/development/configuration/single
) proporciona una especie de navegador variable.Quería actualizar mi
local.settings.php
para deshabilitar siempre la agregación css & js cuando se reduce la sincronización.D7:
D8:
(Y tenga en cuenta que este tipo de anulación NO aparecerá en su IU de administrador, o en
drush config-get
... aunque surtirá efecto)fuente
drush -y config-set system.performance css.preprocess 0
&&drush -y config-set system.performance js.preprocess 0
Esto funcionó para mí. Es un comando Drush PHP EVAL.
Aquí se está utilizando para establecer el estado de MY_VARIABLE
También puede obtener el estado de una variable:
fuente