提问人:rvdv 提问时间:11/14/2023 更新时间:11/16/2023 访问量:20
在一次迁移中生成具有名称和分类参考字段的术语
Generate term with name and taxonomy reference field in one migration
问:
我有(虚构的等价物)情况: 我有一个 xlsx,它将由 migrate_spreadsheet 迁移。 该文件生成节点,每个节点由 2 个参考分类字段(“provider”和“provider_name”)组成。
provider_name很简单,只要存在与源对应的术语,就引用它,否则先生成它:
field_provider_name:
plugin: entity_generate
source: 'provider_name'
但是,提供程序引用默认的 name-field,但也引用第二个(在 provider-taxonomy-term 内)分类引用字段:field_provider_number。
因此:
field_provider:
name
field_provider_number:
provider_number_taxonomy
如何使用一个migration.yml生成节点? 原因是我需要以编程方式调用迁移,直到现在我有 2 个,但我需要使用 batchImport 调用它们。
excel 文件包含
- REGNR(唯一)
- 供应商
- provider_name
- provider_number
直到知道我有 2 次迁移。但是我需要一个来使用 batchImport。
答:
0赞
MilanG
11/16/2023
#1
首先,我必须指出,在单次迁移期间生成多种类型的实体以及多个目标项是不好的做法。回滚时,“动态”创建的内容将保留。另外,如果您使用更新标志运行怎么办?因此,我强烈建议对迁移的每种实体类型进行单独迁移。
但是,如果您坚持,您可以创建自定义流程插件,并从中做任何您想做的事情,即时创建项目。您可以像常规插件一样向它传递参数。基本上,您必须扩展类并提供您的方法,该方法可以即时查找/创建分类术语以及需要的任何其他内容。检查一些现有的插件 - 它相当简单。ProcessPluginBase
transform()
评论