Подскажите, как мигрировать D7->D9 через drush.

Аватар пользователя VasyOK VasyOK 21 декабря 2021 в 13:54

Всем привет. Пытаюсь произвести миграцию D7->D9 через drush.
Ориентируюсь на: https://www.drupal.org/docs/upgrading-drupal/upgrade-using-drush

В settings.php нового сайта:

$databases['default']['default'] = [
...
];
$databases['migrate']['default'] = [
...
];

Выполняю: drush migrate-upgrade
Выдает: Command "migrate-upgrade" is not defined.

drush - 10й.

Лучший ответ

Аватар пользователя ivnish ivnish 21 декабря 2021 в 14:00

Там нужно еще дополнительные модули ставить. Ты поставил их?

Комментарии

Аватар пользователя VasyOK VasyOK 21 декабря 2021 в 19:10

Почему тогда написано:
Drush 10.4.0 (and later) contains the needed migrate commands, no modules required.

Версию Драш проверил:
$ drush --version
Drush Launcher Version: 0.9.0
Drush Commandline Tool 10.6.2

Аватар пользователя gun_dose gun_dose 22 декабря 2021 в 11:33

Вам шашечки или ехать? Мне кажется, если создать ишью по этому поводу, то в результате просто уберут этот абзац из доки Biggrin

Аватар пользователя VasyOK VasyOK 23 декабря 2021 в 7:51

Спасибо. Действительно модули нужно включить.

Гуры, подскажите:
1. Вот есть команда:
drush migrate-upgrade --legacy-db-url=mysql://user:password@server/db --legacy-root=http://example.com --configure-only

Она генерирует что-то из чего впоследстии производится миграция? Если да, то куда это генерируется?

2. Команда
drush migrate-import --tag="Drupal 7" --all
выдает разные ошибки, но если ее запустить несколько раз миграция запускается и на новом сайте я вижу практически весь контент, и пользователей со старого сайта. Почему это команда так долго выполняется? У меня на локалке 9 часов, на реальном сервере часа 4. Что ей надо? Процессор на сервере?

Аватар пользователя gun_dose gun_dose 23 декабря 2021 в 8:57

1. Оно создаёт сущности миграций. Если сделать экспорт конфигураций, то можно будет увидеть их файлы. Я обычно делаю так: генерирую, экспортирую, потом перетаскиваю в свой модуль, там ещё разделяю на два подмодуля миграции конфигураций и миграции контента. Потом это всё дело модифицирую, как мне надо, и запускаю.
2. Если на сайте сотни тысяч нод, то такое время миграции нормальное. Если меньше, то нет. Надо смотреть, сколько времени какая миграция занимает.

Аватар пользователя VasyOK VasyOK 23 декабря 2021 в 9:23

"Оно создаёт сущности миграций." А куда оно их создает? До экспорта конфигураций, где они?

Миграцию, конфигруации, пользователей и контента можно произвести через Drush по отдельности? Я слышал, что можно, но документацию найти не могу.

Нод мало. Юзеров 66000, комментариев 120000. При импорте отключил оценки, которые идут от модулей лайканья - т.к. этик оценок там тоже дофига и с ними перенос будет еще несколько часов. Проц долбится в 50%. Что можно на сервере увеличить, чтоб быстрее шло?

Аватар пользователя gun_dose gun_dose 23 декабря 2021 в 11:38

VasyOK wrote: До экспорта конфигураций, где они?

Там же, где и любая другая конфигурация - в базе данных.

Можно включить Migrate UI и там смотреть миграции. Можно почитать здесь, как запускать их по одной: https://www.drupal.org/docs/drupal-apis/migrate-api/executing-migrations

Ну и опять же, когда запускаешь все миграции разом, в командную строку выводится информация о том, какая миграция выполняется в данный момент. И так можно узнать, какая именно выполняется сейчас и засечь время

Аватар пользователя VasyOK VasyOK 24 декабря 2021 в 9:21

Нес восем пока понятно. Ок, другой вопрос.

Команда
drush migrate-import --tag="Drupal 7" --all
она конечно мигрирует контент со старого сайта. Но не мигрирует таксономию.

Если я в админке через migrate_drupal_ui, то наоборот: контент мигрирует, таксономию - нет. Есть какая-то Драш команда именно для импорта через встроенные инструменты Друпула?

Аватар пользователя gun_dose gun_dose 25 декабря 2021 в 0:12

Через drush можно мигрировать миграции из определённой группы, с определённым тэгом или с определённым айдишником. Через админку по одной

Аватар пользователя VasyOK VasyOK 25 декабря 2021 в 9:46

Ок, я вбиваю drush migrate-upgrade... И в admin/structure/migrate появляется некая группа. Но внутри нее надпись:
Пока ещё нет "Сущности миграция".

Это так и надо? Или каждая миграция это типа кастомный модуль?

Аватар пользователя gun_dose gun_dose 25 декабря 2021 в 10:33

Загляни в логи, может быть там есть что-то интересное. Миграции иногда глючат и не показываются из-за этого.