Обходной путь для отсутствующей команды переноса-отмены регистрации в Drush 10.3.1?
Я пытаюсь перенести и обновить сайт с Drupal 7 на Drupal 8 (версия 8.9.1). Миграция не может быть выполнена с помощью пользовательского интерфейса, так как в процессе мне нужно внести некоторые изменения в типы контента и таксономии. Я последовал совету в https://www.drupal.org/docs/upgrading-drupal/upgrade-using-drush и сгенерировал отдельные миграции с использованием drush migrate-upgrade --configure-only
, чтобы я мог использовать файлы YAML, которые он генерирует, в качестве основы для пользовательской миграции модуль.
После того, как я построил свой модуль, я запустил drush migrate-status
(псевдоним drush ms
). Я вижу, что мои миграции зарегистрированы, но те, которые были сгенерированы ранее drush migrate-upgrade
, также присутствуют. В прошлом их удаление было бы простым делом использования drush migrate-deregister
(псевдоним drush mdreg
), но эта команда, как ни странно, больше не доступна в текущей версии Drush (10.3.1).
Как отменить регистрацию миграций, сгенерированных drush migrate-upgrade --configure-only
? Я предполагаю, что если я не отменю их регистрацию, мой контент будет перенесен дважды, и я не хочу, чтобы это случилось.
1 answers
Эти миграции сохраняются в виде конфигурации.
При запуске drush migrate-upgrade --configure-only
команда создала различные migrate_plus.migration.*
данные конфигурации, связанные с вашей миграцией D7.
Если вы удалите конфигурацию, вы удалите миграции. Например:
- Если у вас есть конфигурация, записанная в каталог синхронизации, выполните
drush cex
, удалите всеmigrate_plus.migration.*
файлы yml, затемdrush cim
. Drush удалит всю конфигурацию миграции при импорте. - Если вы предпочитаете удалить миграцию напрямую,
drush cdel
позволит вам конкретно удалите миграцию.
Даже если вы удалите конфигурацию миграции, некоторые метаданные миграции все равно будут храниться в базе данных (см. migrate_map_
& migrate_messages_
таблицы). Они будут повторно использованы, если вы повторно импортируете конфигурацию миграции. Если вы наконец закончили со своими миграциями, вы можете удалить их.