thinkshout / distro_helper
分发助手服务
- dev-main
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-install-quitting
- dev-both-fields-empty-test
- dev-logging-and-errors-15
- dev-issue-exit-feedback
- dev-early-exit
- dev-package
- dev-install-helper
- dev-configurable_writes
- dev-6_lang_error
- dev-3_new_config_crash_alt
- dev-3_new_config_crash
- dev-multiupdate_bugfix
- dev-targeted_config_update
This package is auto-updated.
Last update: 2024-09-11 19:37:18 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());