管理您网站的配置
Drupal 以统一的方式存储站点的配置信息——包括启用的模块列表、内容类型、分类词汇表、字段以及视图等。
不建议在生产环境(线上网站)中直接修改配置。系统的设计目的是让您可以轻松地使用当前配置,在本地测试修改,将更改导出为文件,并部署到生产环境。您网站的配置可以作为代码库的一部分保存,并纳入版本控制系统。
默认情况下,“活动”配置存储在数据库中(表名为 “config”)。这样做是出于性能和安全性的考虑。这是当前站点的完整配置。配置可以导出和导入为 YAML 文件,既可以完整导出,也可以单独导出部分配置,使用 Drush、Drupal Console 或 Configuration Manager 模块中的配置命令实现(详见下文)。
在不同环境(如开发、测试、生产)之间导出和导入配置,可以让您方便地在非生产环境中进行修改和验证。
这使您能够从一个环境部署配置到另一个环境(为安全起见,Drupal 在导入前会通过比较 UUID 来确认站点是否相同)。
模块和主题的配置文件
模块、发行版和主题提供的默认配置会在启用扩展时导入到活动配置存储中。扩展的默认配置位于其 config/install 目录中。
如何导入、导出和同步
通过核心模块 Configuration Manager,您可以在后台界面中导入、导出和同步网站配置,路径为:管理 › 配置 › 开发 › 配置同步(admin/config/development/configuration)。在导入前,您可以查看所有即将更改的配置。
您也可以通过复制 / 粘贴的方式导入或导出单个配置对象。例如,如果您只想将创建的某个视图从一个环境迁移到另一个环境,这种方式就非常方便。
或者,您也可以将网站的完整配置导出为 YAML 文件并打包成 tar.gz 压缩文件。这仅在您在同一网站的不同副本之间(例如 dev 和 production)移动配置时有效,因此站点的 UUID 必须匹配。
要在命令行中查看网站的 UUID:
- 使用 Drush
drush cget system.site
- 使用 Drupal Console
drupal debug:config system.site
完整同步工作流的示例:
同步完成后,所有更改(如启用新模块、添加字段或内容类型)都会被应用。换句话说,在开发站点上所做的所有配置更改现在都将在生产站点上生效。
更多信息
如果您需要了解 Drupal 8 配置管理系统的更多详细信息,请查阅 配置 API 文档 页面。
建议与禁忌
建议:
强烈建议在同步暂存目录和活动目录之前执行一次 数据库转储(database-dump)。在需要回滚的情况下,database-dump “可以救命”。
禁忌:
不要尝试通过修改模块的 config/install
目录下的文件来更改网站的活动配置。
这不会生效,因为 Drupal 只会在模块安装时读取该目录中的配置。
如果要在运行中修改配置,请使用 drush config-edit 或 drupal config:edit 命令。