跳到内容
必威体育论坛必威精装下载APPRedfin解决方案的标志必威体育论坛必威精装下载APPRedfin解决方案的标志 联系
对着光线的电影幻灯片

Drupal将基本字段迁移到实体引用

2022年11月, Drupal社区和Drupal安全团队将停止对Drupal 7的支持。到那时,所有Drupal网站都需要在Drupal 8上继续接收社区的更新和安全修复。从drupal7到drupal8的转变是一个棘手的迁移。通常需要进行复杂的转换,才能将旧系统中的内容转移到Drupal的新范式中。如果您是Drupal迁移的新手,可以阅读官方文档Drupal迁移API,跟随毛里西奥·迪纳尔特31天的Drupal迁移你也可以观看Redfin Solutions的Ch必威体育论坛必威精装下载APPris Wells的速成课训练.本系列博客涵盖了更高级的主题,如小众迁移工具、内容重组和各种自定义代码解决方案。为了跟上进度,请阅读之前的博客文章自定义迁移Cron作业迁移自定义源插件,将Transact SQL数据库连接到Drupal

从Drupal 7迁移到Drupal 8通常需要重新构造内容,比如将无限文本字段转换为段落或将列表文本字段转换为分类引用。棘手的部分是,迁移管道希望每个源实体都指向一个目标实体,但每个段落或分类术语都是一个新实体,单个节点可以引用其中的几个。

那么,如何将数据从一个实体分解并迁移到多个实体中呢?

人工输入

如果有一小部分旧内容,或者您已经手动添加了新内容,那么手动输入是一个可行的解决方案,但它不应该成为大型迁移的默认设置。按照这条路线,您希望设置内容编辑器以轻松获得成功。如果可能的话,减少重复任务所需的操作数量。在查询结果中使用一些巧妙的字符串连接,可以创建到所有需要更新的节点编辑页面的精确链接。这比给某人一个节点id或页面标题并要求他们修复该页面容易得多。仅仅因为它不是自动迁移,并不意味着我们不能自动化它的各个方面。

CSV进口国

CSV Importer模块对于CSV文件中已经存在或可以快速导出为CSV文件的简单数据非常有用。例如,使用该工具可以轻松地将包含数百个国家名称的电子表格导入为分类术语。或者可以将电子邮件和姓名列表导入为用户。迁移数据之后,可以在其他迁移中使用static_map插件或自定义流程插件查找正确的实体引用。注意不要滥用static_map插件的数百个映射。在国家的例子中,如果源数据包含您想要在目标中引用的国家的名称,您可以编写一个流程插件来获取名称中的分类id.记住,一旦迁移了实体,您就可以在以后的迁移中使用Drupal的全部功能来查找它们的id。

在迁移过程中生成实体

使用entity_generate插件或者在迁移过程中创建实体的自定义插件。这样可以更好地控制数据转换的方式,但是无法通过迁移API回滚或更新生成的实体。这不应该是默认设置,但对于更复杂的问题,如将密集的所见即所得字段分解为单独的段落(参见Benji Fisher的定制过程插件).

使用自定义源插件分别迁移实体

看到我们的早些时候博客以获取这方面的一步一步的指导。Drupal核心提供了许多有用的源插件,但有时需要自定义查询来将特定的源数据迁移到实体中。这种方法为您提供了Drupal迁移工作流中的灵活性。与前面的选项不同,您仍然可以回滚和更新实体,并利用所有其他迁移工具。

如何执行这样的数据转换在很大程度上取决于上下文,但这些是可以在许多情况下使用的强大工具。如果您有任何关于复杂Drupal迁移的问题,或者您正在寻找Drupal代理机构来帮助您的下一个网站项目,请与我们联系。

Baidu