lab*_*bue 6 drupal migrate drupal-7
我正在使用迁移模块将数据从多个源复制到新的drupal安装.到目前为止,我能够从模块提供的示例中复制我需要的许多内容.我目前停留在为新创建的节点添加术语或分类.该示例显示:
// These are related terms, which by default will be looked up by name
$this->addFieldMapping('migrate_example_beer_styles', 'terms')
->separator(',');
Run Code Online (Sandbox Code Playgroud)
我已经跟踪了migrate_example_beer_styles
目标映射,它似乎是machine name
那个分类法.
我尝试用我machine_name
应该做的每一种变化来模仿这种行为,但这些术语似乎永远不会联系起来:
按id:
// where source breed_id is '1,100' - it finds mapped values accordingly
$this->addFieldMapping('breeds', 'breed_id')
->sourceMigration('BreedMigration')
->separator(',')
Run Code Online (Sandbox Code Playgroud)
并且,按名称:
// where source breeds is 'Dogs,German Shepherd'
$this->addFieldMapping('breeds', 'breeds')
->separator(',');
Run Code Online (Sandbox Code Playgroud)
假设目的地映射是machine name
分类法,我错了吗?
这个版本的迁移模块最近发布,我还没有在网上找到任何其他有用的示例.
lab*_*bue 13
这个问题似乎仍然有一些观点,所以我想我会添加我发现的其他内容.虽然接受的答案有效,但您可以在ID上映射Vocabs:
$this->addFieldMapping('Exact Case Sensitive Vocab Name', 'source_field_name')
->sourceMigration('ExactSourceClassName')
->arguments(array('source_type' => 'tid'))
->separator(',');
Run Code Online (Sandbox Code Playgroud)
->separator(',')
用于传递分隔的源ID字符串.显然,如果要映射一组值,请将其关闭.
我目前正在自己使用迁移模块,并且我同意目前文档有些不足。:)
词汇表的“机器名称”列在词汇表的“模块”字段中。尝试使用该值。请注意,您需要将文本输入到映射中,而不是 ID。