Миграция контента с Drupal 7 в Drupal 10.
Описывал отдельно для каждого контента типа и для каждого словаря конфигурацию миграции в yml файлах, импортировал их и выполнял.
Но в каждой конфигурации в секции process
я не указывал id: id
, чтобы каждый контент или термин получил новый id в Drupal 10, а не тот, который был в Drupal 7.
Сейчас я сделал миграцию URL alias. И вижу, например, для термина "Apparel", что:
Alias такой: /category/apparel
System path такой: /taxonomy/term/6018
Но термина с id=6018 у меня не существует, потому что это id, который был у термина в Drupal 7. Сейчас у него уже совсем другой id, который был создан во время миграции. И если я открою страницу /category/apparel или /taxonomy/term/6018 то увижу "The requested page could not be found.".
Подскажите пожалуйста что мне нужно прописать в конфигурации миграции URL alias чтобы в system path в конце были новые id, такие как в Drupal 10.
migration_tags:
- 'Drupal 7'
migration_group: migrate_drupal_7
label: 'URL aliases'
source:
plugin: d7_url_alias
constants:
slash: /
process:
id:
-
plugin: get
source: pid
_path:
-
plugin: concat
source:
- constants/slash
- source
alias:
-
plugin: concat
source:
- constants/slash
- alias
node_translation:
-
plugin: explode
source: source
delimiter: /
-
plugin: extract
default: INVALID_NID
index:
- 1
-
plugin: migration_lookup
migration:
- custom_blog_post_nodes_migration
- custom_page_nodes_migration
-
plugin: node_complete_node_translation_lookup
langcode:
-
plugin: null_coalesce
source:
- '@node_translation/1'
- language
path:
-
plugin: path_set_translated
source:
- '@_path'
- '@node_translation'
destination:
plugin: 'entity:path_alias'
migration_dependencies:
required: { }
optional:
- custom_blog_post_nodes_migration
- custom_page_nodes_migration
Комментарии
а как вы мигрируете? я мигрировал через drush потомучто через веб интерфейс друпал зависал.
через веб интерфейс мигрирую
.
>> Но в каждой конфигурации в секции process я не указывал id: id, чтобы каждый контент или термин получил новый id в Drupal 10, а не тот, который был в Drupal 7.
И почему? Ну так укажите и заново с нуля все прогоните. И все наладится. Ну или сразу ыормируйте где то данные было-стало и пишите скрипт, который будет их узнавать и менять вам алиасы