thinkshout/distro_helper

该软件包最新版本(1.0.4)没有可用的许可证信息。

分发助手服务

安装次数: 30,309

依赖者: 1

推荐者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 3

类型:drupal-module

1.0.4 2023-12-01 17:43 UTC

README

提供名为 "distro_helper.updates" 的服务,包含以下方法。每个方法都将配置写入数据库,如果使用基于文件的配置,则将其写入文件系统。

您可以通过在 settings.php 中添加以下内容来禁用“将配置写入文件系统”的行为:

$config['distro_helper']['disable_write'] = TRUE;

例如,如果您使用 Pantheon,您可能需要将其添加到以下条件中:

if (isset($_ENV['PANTHEON_ENVIRONMENT'])) {
  $config['distro_helper']['disable_write'] = TRUE;
}

请注意,这可能是不必要的,因为此模块在尝试写入之前会检查基于文件的配置目录是否可写。

installConfig (distro_helper.updates)

如果您向模块的配置文件夹添加了新的或更新的配置,您需要向网站提供一个更新钩子,以便它知道要拉入该新配置。

此模块的服务100%覆盖了活动配置中的配置文件,将其与安装目录中的配置文件替换,因此它最适合新的配置。

首次运行更新钩子时,配置的UUID将被创建并设置在活动配置中。如果将其导出到同步配置目录,UUID也将保存在那里。

如果您出于测试目的或在不同环境中多次运行更新钩子,此辅助函数将保持同步和活动配置中的UUID相同,尽管通常的部署工作流程是更新钩子后跟配置导入。

此服务的用法是

\Drupal::service('distro_helper.updates')->installConfig($configid, $modulename, $dirname);

updateConfig (distro_helper.updates)

如果您更新了配置,但不想完全覆盖网站上的现有配置,请使用此方法进行配置的定向更新。

它的工作方式与 installConfig 类似,但您还需要传递一个 "$targets" 变量,它是一个路径数组,用于您想要安装的配置部分,使用 '#' 作为分隔符。

此服务的用法是

\Drupal::service('distro_helper.updates')->updateConfig($configid, $targets, $modulename, $dirname);

syncUuids (distro_helper.install)

将基于文件的配置中的UUID推送到网站配置。此功能适用于全新网站安装,您想查看安装的配置与导出持久数据库时获得的配置有何不同。主要用途是为此所有网站配置执行此操作,但它也设计成允许同步配置的子集。

用法是

\Drupal::service('distro_helper.install')->syncUUIDs($configs);

通过传递所有基于文件的配置调用它的标准方式,可以使用 'config.storage.export' 服务轻松实现。

\Drupal::service('distro_helper.install')->syncUUIDs(\Drupal::service('config.storage.export')->listAll());