本文纯属文档翻译,原文请移步:Migrate module architecture,基于Drupal的Migrate模块(7.x-2.5)来意译,可能随时间增长会有少量改动。如果您需要转载原文请同时提供原文的URL地址,如果要引用这篇中文的翻译文章,也请在清晰的地方提供本文的原文地址,谢谢。
在Migrate模块中,你将花费最多的精力在Migration这个类上,这个是Migrate模块的核心。你写的任何一个描绘从一个给定的数据源(例如对数据库的Query查询)到一个给定的Drupal目标实体(例如一个特殊的Node,也许是“article”)间迁移过程的模块,都将从Migration这个类开始。
同样你也会在这个类实例中内嵌其他的4个类:
- MigrateSource 描绘了数据源。Migration类会遍历由这个类所返回的很一行对象实体。
- MigrateDestination 描绘了目标数据对象(例如user,node等)。每个由MigrateSource类操作完成的对象都会被传递到这个类,由这个类来创建目标数据对象。
- MigrateMap 描绘了数据源和目标数据对象间的关系,同时持续监控并展示源数据最终生成的Drupal中的实体对象是什么。
- migrateFieldMapping 描绘了单个源数据字段与单个目标数据字段间的对应关系。一个普遍的Migration子类会包含多个字段间的对应关系。
本文作者的其他联系方式: