Drupal 8では、Drushコマンドdrush variable-set
が機能しなくなりました。
( ここ )を読むと、Drupal 8には、古い(Drupal <= 7)の「変数」に代わる新しい「構成」システムがあるようです。しかし、同じ目的を達成するための新しいDrushコマンド?
具体的には、コマンドを変換したい:
drush variable-set site_mail [email protected]
drush variable-set update_notify_emails [email protected]
新しいDrupal8/Drush8同等のものに...
もう少し調べてみると、新しいコマンドは次のようです。
drush config-set <config-name> <key>
(古い形式はdrush variable-set <name> <value>
)。エイリアス:cset
。したがって、私がこの権利を持っていることを完全に確信しているわけではありませんが(そうすることで、誰かからのコメントや別の回答が素晴らしいと思います...)、電子メールを含む構成は次のようです:contact.form.feedback recipients
、update.settings notification.emails
およびsystem.site mail
。
この更新は、いくつかの良い議論の結果です(下記)。一部の設定は(文字列ではなく)配列であることに注意してください。
www/drupal8# drush config-get update.settings notification
'update.settings:notification':
emails:
- [email protected]
threshold: all
これを更新するには、次を実行する必要があります。
drush -y config-set update.settings notification.emails.0 [email protected]
出典: Drush 7 for Drupal 8 。
注:Drush 7はDrupal 8をサポートしなくなりましたが、これは引き続き適用されます。
追加のフォローアップ、
取得または設定する構成の識別子を見つけるには、
$config['varname']
、$settings.php
の間にある1:1:1の一致と、drush vset/vgetがありましたadmin/config/development/configuration/single
にあります)は、変数ブラウザーのようなものを提供します。local.settings.php
を更新して、ダウンシンク時に常にcss&js集計を無効にしたいと思いました。
D7:
$conf['preprocess_css'] = FALSE;
$conf['preprocess_js'] = FALSE;
D8:
$config['system.performance']['css']['preprocess'] = 0;
$config['system.performance']['js']['preprocess'] = 0;
(このタイプのオーバーライドは、管理UIまたはdrush config-get
...には表示されませんが、有効になります)
これでうまくいきました。これはDrush PHP EVALコマンドです。
drush ev '\Drupal::state()->set("MY_VARIABLE", "MY_VALUE")'
ここでは、MY_VARIABLEの状態を設定するために使用されています
get変数の状態もできます。
drush ev 'echo \Drupal::state()->get("MY_VARIABLE")'