web-dev-qa-db-ja.com

設定分割を使用してモジュールを無効にする方法は?

Configuration Split モジュールを使用して、環境ごと(local、dev、test、prod)に異なるスプリットを作成しました。各環境でモジュールをどのように管理(有効/無効)できますか?

保持する必要がありますcore.extensions.yml各分割で、アンインストールするモジュールをリストから削除しますか?

7
ARUN

core.extension.ymlは、デフォルトの共有構成にのみ配置する必要があります。それはそれらのモジュールのみを保持するので、すべての異なる環境で有効になります。

$config_directories['sync'] = '../config/sync/default/shared';

このデフォルトDrupal config同期ディレクトリにはconfig_split.config_split.local.ymlも含まれており、core.extension.ymlのモジュールとは別に、local splitがアクティブです。

uuid: abc123456-7890-abcd-906d-abc123456
langcode: en
status: false
dependencies: {  }
id: local
label: Local
folder: ../config/sync/default/local
module:
  browsersync: 0
  devel: 0
  features_ui: 0
  field_ui: 0
  kint: 0
  link_css: 0
  masquerade: 0
  views_ui: 0
  webprofiler: 0
theme: {  }
blacklist: {  }
graylist: {  }
graylist_dependents: true
graylist_skip_equal: true
weight: 0

次に、各環境のsettings.local.php内で、デフォルトに加えてどの分割をアクティブにするかを定義する必要があります。ローカルマシンでの設定方法は次のとおりです。

$config['config_split.config_split.local']['status'] = TRUE;
$config['config_split.config_split.dev']['status']   = FALSE;
$config['config_split.config_split.stage']['status'] = FALSE;
$config['config_split.config_split.prod']['status']  = FALSE;

core.extension.ymlは、異なる環境でall間で共有されるモジュールのみを保持します。

5
leymannx