Обходной путь для отсутствующей команды переноса-отмены регистрации в 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? Я предполагаю, что если я не отменю их регистрацию, мой контент будет перенесен дважды, и я не хочу, чтобы это случилось.

Author: sjhuskey, 2020-07-01

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_ таблицы). Они будут повторно использованы, если вы повторно импортируете конфигурацию миграции. Если вы наконец закончили со своими миграциями, вы можете удалить их.

 0
Author: Shawn Conn, 2020-07-01 19:27:57