humanmade/hm-content-import

WordPress 迁移框架

安装次数: 22,285

依赖项: 1

建议者: 0

安全性: 0

星标: 24

关注者: 23

分支: 7

开放问题: 39

类型:wordpress-plugin

2.1.0 2024-08-14 14:24 UTC

README

WordPress 迁移框架,旨在降低从不同数据源迁移内容时的开销

简介

HMCI 是一个可扩展、性能良好、可脚本化、可暂停、可恢复且水平可扩展的 WP-CLI 框架,用于将大量内容导入 WordPress。它是一个用于执行从任何来源迁移大量内容的自定义迁移的基础框架,因此需要为每种要导入的内容类型开发一个导入处理器。

它通常支持新的导入和增量导入,尽管这取决于为每种迁移编写的特定导入处理器。

HMCI 可以并行在多个线程中运行,以便通过水平扩展来减少处理大量导入所需的时间。它已被用于 Human Made 客户如 The Sun、L'Express、Capgemini 等的大型数据迁移。

摄取

HMCI 支持通过支持以下功能的迭代器进行数据摄取:

  • 单个文件
    • CSV
    • JSON
  • 文件目录
    • JSON
    • XML
  • 直接 MySQL 数据库连接
  • WordPress 文章(用于内部迁移)

插入

HMCI 支持将导入的数据插入以下位置:

  • WordPress
    • 附件
    • 评论
    • 嘉宾作者(由 Co-Authors Plus 和 PublishPress 使用)
    • 文章
    • 分类术语
    • 用户
  • 文件
    • CSV

导入

有关如何导入数据的更多信息,请参阅 运行导入

编写导入器

有关如何编写导入器的更多信息,请参阅 编写导入器

从版本 1 迁移

在版本 2 中,我们更改了规范 ID 的存储方式。这意味着如果您计划使用版本 1 导入的数据继续/进行增量导入,则需要将现有数据迁移到新格式。

运行以下 SQL 查询以迁移现有数据

UPDATE wp_postmeta SET meta_key = CONCAT('hmci_canonical_id_', meta_value) WHERE meta_key = 'hmci_canonical_id';
UPDATE wp_usermeta SET meta_key = CONCAT('hmci_canonical_id_', meta_value) WHERE meta_key = 'hmci_canonical_id';
UPDATE wp_commentmeta SET meta_key = CONCAT('hmci_canonical_id_', meta_value) WHERE meta_key = 'hmci_canonical_id';
UPDATE wp_termmeta SET meta_key = CONCAT('hmci_canonical_id_', meta_value) WHERE meta_key = 'hmci_canonical_id';

如果您需要撤销此迁移,可以运行以下 SQL 查询

UPDATE wp_postmeta SET meta_key = 'hmci_canonical_id' WHERE meta_key LIKE 'hmci_canonical_id_%';
UPDATE wp_usermeta SET meta_key = 'hmci_canonical_id' WHERE meta_key LIKE 'hmci_canonical_id_%';
UPDATE wp_commentmeta SET meta_key = 'hmci_canonical_id' WHERE meta_key LIKE 'hmci_canonical_id_%';
UPDATE wp_termmeta SET meta_key = 'hmci_canonical_id' WHERE meta_key LIKE 'hmci_canonical_id_%';