选择升级方法
概览
在准备升级到 Drupal 8 时,值得花一些时间来规划升级方法。虽然您之前的 Drupal 站点内容大多可以顺利迁移,但 Drupal 8 站点的配置很可能需要一些手动步骤。例如,核心中的 Views 模块目前没有自动升级功能,这意味着您需要在 Drupal 8 站点中手动创建视图。对于每个站点,都应考虑最合适的升级方法。
简单方法:升级后手动执行步骤
在这种方法中,升级只执行一次,升级后的手动步骤(如创建 Views)在 Drupal 8 站点上线前完成。
建议您先进行一次升级演练,并仔细记录所有手动步骤。如果您对测试环境的结果满意,可以重复这些步骤,在生产环境中构建一个全新的 Drupal 8 安装。
这种方法可用于:
增量升级:结合手动更新步骤
根据升级后手动步骤的数量和复杂性,在执行这些步骤时可能无法让旧站点保持离线状态。如果旧站点仍然在线,而新 Drupal 8 站点正在执行手动更新步骤,用户可能会在旧站点继续创建或更新内容。
Drupal 8 支持增量升级。这意味着可以再次运行迁移来传输新增或更新的内容。但不建议在初次升级和后续增量迁移之间修改旧站点的配置。

这种方法可用于:
仅在 STAGING 和 PROD 环境中迁移内容
Drupal 8 的一项强大新特性是增强的配置管理系统,它允许将整个 Drupal 配置从一个环境部署到另一个环境。典型的环境架构包括开发环境(DEV)、测试环境(STAGING)和生产环境(PROD,提供给终端用户的在线站点)。在 Drupal 8 中,所有配置都可以导出为 YAML 文件并导入到另一个环境。
如果您计划使用独立的 DEV、STAGING 和 PROD 环境,下面的图示展示了一种可能的方法。理解 Drupal 实体的分类很重要:
- 内容实体(用户、节点、分类术语等)
- 配置实体(内容类型、字段、视图和所有配置设置)

上图的升级流程:
1. 将 Drupal 8 DEV 环境从源站点升级。
2. 保持源站点在线(用户仍可创建或更新内容)。与此同时,在 Drupal 8 DEV 环境中完成配置。
3. 使用 Drupal 8 配置管理系统将配置从 DEV 部署到 STAGING。通常会使用版本控制系统(如 Git)。
4. 当 STAGING 配置完成后,将内容从源站点迁移到 STAGING 进行最终验收测试。一旦测试通过,就部署 Drupal 8 PROD 站点,并将内容从源站点迁移到 Drupal 8 PROD。
此方法需要使用 Drush 升级。该方法有几种可能的变体。
- 参阅 使用 Drush 升级页面,了解如何生成迁移。
- 升级到 Drupal 8 DEV(上图步骤 1)可以通过运行
drush migrate-import --all执行所有迁移,或通过运行drush migrate-import <migration name>单独执行所需迁移。 - 仅迁移内容(上图步骤 4)可以通过运行
drush migrate:import --tag=Content执行所有内容迁移,或通过drush migrate-import <migration name>单独运行所需迁移。还可以在manifest 文件中列出需要的迁移。