我尝试按照此步骤https://www.drupal.org/docs/8/upgrade/upgrading-from-drupal-6-or-7-to-drupal-8将drupal 7网站迁移到版本8。但是,当迁移内容类型的字段时,在引用其他内容类型的字段中出现“尝试创建没有类型的[field_name]的错误”。 “ upgrade_d7_field”是我执行的迁移ID。我正在通过匆忙进行迁移。
我知道可能的问题,但我不知道如何解决。在drupal 7中,引用其他内容类型的字段类型为“节点引用”类型,但是在版本8中,该类型不再存在,现在为“实体引用”类型。
我认为我应该在迁移定义中更改一些配置,但我不知道到底是什么。
这是迁移ID“ upgrade_d7_field”的迁移定义:
uuid: 2edaccb2-22a6-4482-895f-439bbbc66f1a
langcode: es
status: true
dependencies: { }
id: upgrade_d7_field
class: Drupal\migrate_drupal\Plugin\migrate\FieldMigration
field_plugin_method: alterFieldMigration
cck_plugin_method: null
migration_tags:
- 'Drupal 7'
- Configuration
migration_group: migrate_drupal_7
label: 'Field configuration'
source:
plugin: d7_field
constants:
status: true
langcode: und
process:
entity_type:
-
plugin: get
source: entity_type
status:
-
plugin: get
source: constants/status
langcode:
-
plugin: get
source: constants/langcode
field_name:
-
plugin: get
source: field_name
type:
-
plugin: process_field
source: type
method: getFieldType
map:
d7_text:
d7_text: d7_text
taxonomy_term_reference:
taxonomy_term_reference: taxonomy_term_reference
image:
image: image
link_field:
link_field: link_field
file:
file: file
datetime:
datetime: datetime
list:
list: list
cardinality:
-
plugin: get
source: cardinality
settings:
-
plugin: d7_field_settings
destination:
plugin: 'entity:field_storage_config'
migration_dependencies:
required: { }
optional: { }
严重的是,我需要迁移D7站点的数据,它们是有关分类法,注释等的17.000多个新闻。
感谢您的帮助。预先感谢。
答案 0 :(得分:1)
似乎您正在使用References模块,该模块提供了旧CCK软件包中node_reference
和user_reference
字段类型的D7版本。
此模块是在drupal 7早期启用这些字段类型的解决方案。
一段时间之后,Entity Reference出现在d7中,它提供了一个通用字段类型来引用任意实体,并且此后就被包含在Drupal 8内核中。
要解决您的问题,您应该首先将参考字段迁移到正确的字段类型entity_reference
中。
有一个名为Reference to EntityReference Field Migration的模块,可以帮助您在drupal 8迁移之前完成工作。
答案 1 :(得分:1)
让我们假设d7字段位于名为publications
的内容类型上,并且该字段为 field_articles_d7 引用了名为articles
的内容类型,而新的D8实体引用字段为称为 field_articles_d8 (假设它位于名为publications
的同一内容类型上),还引用了名为articles
顺序应为
article
内容类型(迁移ID:d7_node_article)publications
节点类型(迁移ID:d7_node_publication)
field_articles_d8:
plugin: migration_lookup
migration: d7_node_article
source: field_articles_d7
这通常是将Drupal 7中的Node引用迁移到Drupal 8中的实体引用的顺序过程。