Быстрая миграция Webform с Drupal 7 на Drupal 8/9

К сожалению, я не осилил модуль webform_migrate. Вернее "из коробки" он ничего не делал, документация очень скудная и даже нет примеров использования.

В поисках информации я наткнулся на репозиторий https://github.com/JAyenGreen/webform_d7_to_d8

Это модуль для Drupal 8. Я кинул его в /modules/custom и включил на сайте. Далее по шагам:

1) Прописываем в settings.php или в settings.local.php ваши данные для базы старого сайта, например

$databases['upgrade']['default'] = array (
'database' => 'drupal7database',
'username' => 'drupal7user',
'password' => 'drupal7password',
'prefix' => '',
'host' => 'drupal7host',
'port' => '3306',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'driver' => 'mysql',
);

2) Смотрим NID вашей вебформы на старом сайте, у меня это 3114

3) Запускаем миграцию в режиме симуляции

drush ev 'webform_d7_to_d8(["nid" => 3114, "simulate" => TRUE])'

У меня вывалилась куча ошибок связанная с миграцией отправлений "submissions". Они мне не нужны на новом сайте, поэтому исключаем их из миграций

drush ev 'webform_d7_to_d8(["nid" => 3114, "max_submissions" => 0])'

4) Готово! На новом сайте появилась новая вебформа Dirol

Поделитесь своим опытом миграций в комментариях

Автор

ivnish Drupal FullStack Developer, модератор drupal.ru