logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动
01/10/2025, by Ivan

Drupal 的核心模块「Migrate Drupal」提供了从一个 Drupal 版本迁移到另一个 Drupal 版本的 API 支持,而「Migrate Drupal UI」则提供了一个简单的用户界面,用于从旧版本 Drupal 升级。

从 Drupal 6 到 Drupal 8 以及从 Drupal 7 到 Drupal 8 的更新在单语言站点上是稳定的。多语言站点的更新路径尚未完成。请参阅 从多语言 Drupal 6 升级到 Drupal 8 以获取有关 Drupal 6 - Drupal 8 多语言升级的简要信息,以及 多语言迁移的 meta 问题 以查看多语言迁移问题的清单。目前有几种方式来确保 D6-D8 和 D7-D8 更新路径的稳定性。

仔细测试你的网站更新并报告结果

当你将 Drupal 6 或 Drupal 7 站点更新到 Drupal 8 时,请务必仔细测试并验证结果。很可能你会发现某些东西并未如预期般更新。如果发生这种情况:

新报告的问题会被归类到「迁移系统」组件。极其重要的是你要尽可能提供详细的信息。

  • 请在适用时提供更新前(Drupal 6/7)和更新后(Drupal 8)的截图。
  • 尽可能具体地描述问题。
  • 提供你认为与问题相关的站点额外信息。
  • 优秀的问题报告示例:https://www.drupal.org/node/2853872

        - 在原始问题报告中提供了简短描述、截图和注释。
        - 问题摘要后来多次更新,因为在分析过程中发现了越来越多的信息。
        - 更新问题摘要是修复过程中的重要环节。有时错误迁移可能非常复杂,保持问题摘要的最新状态将极大帮助迁移维护者和其他贡献者!
        - 不要害怕——我们会尽可能撰写详细的错误报告!

协助测试补丁

如果你想帮助测试迁移补丁,你需要配置一个测试环境。始终将补丁应用到 Drupal 8 最新的开发版本。

帮助查找迁移问题的根本原因

如果你对 Drupal 及其数据模型更有经验,你很可能能帮助确定迁移错误的根本原因。因为迁移涉及数据,所以最重要的是理解:

  • 数据在 Drupal 6/7 中的来源
  • 以及它在 Drupal 8 中应该存放的位置

一些有助于理解数据来源的工具:

  • Devel 模块 —— 非常适合检查 Drupal 6/7 中的原始数据。
  • phpMyAdmin 或其他数据库浏览器可以帮助你查找 Drupal 6/7 中的数据来源。
  • 如果你能确定 Drupal 6/7 中存储数据的表单,但无法在数据库中找到这些数据,你可以阅读 API 文档。在 Drupal 6/7 中打开存储数据的表单,复制字段并搜索:
    site:api.drupal.org <输入要查找的内容>

在 Drupal 8 中,可以通过以下方式读取迁移配置:

  • admin/config/development/configuration/single/export
  • 选择「迁移」作为「配置类型」
  • 选择你要检查的迁移项目

关于自动化迁移测试的几点说明

所有与 Drupal 8 核心相关的错误修复必须有自动化测试覆盖。如果你不熟悉自动化测试,也可以提交没有测试的补丁。这一节是针对想要参与测试的高级贡献者。

迁移必须经过测试,以确保测试机器人能够真正执行迁移。在为核心编写 D6/D7 到 D8 的迁移测试时,会使用 Drupal 8 核心中包含的数据库固定文件作为源数据:

实际测试通常定义在对应模块的核心测试中,例如 core/modules/comment/tests/src/Kernel/Migrate/d7