web-dev-qa-db-fra.com

Comment désactiver les modules en utilisant config split?

J'ai créé un split différent pour chaque environnement (local, dev, test, prod) en utilisant le module Configuration Split . Comment gérer les modules (activer/désactiver) dans chaque environnement?

Dois-je garder core.extensions.yml dans chaque division et supprimer le module à désinstaller de la liste?

7
ARUN

Le core.extension.yml ne doit être placé que dans la configuration partagée par défaut. Comme il ne contient que ces modules, qui sont activés dans tous vos différents environnements.

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

Ce répertoire par défaut Drupal config sync a également le config_split.config_split.local.yml dedans, qui définit quels modules en dehors de ceux du core.extension.yml doit être activé en plus lorsque la division local est active.

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

Ensuite, à l'intérieur de chaque environnement de settings.local.php vous devez définir quelle division en plus de la configuration par défaut partagée doit être active et laquelle ne doit pas l'être. Voici comment il peut être configuré sur votre ordinateur local:

$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;

Le core.extension.yml ne contient que les modules partagés entre tous vos différents environnements.

5
leymannx