2016-12-18 4 views
0

Имея кошмар времени, пытаясь создать Drupal7 до 8 миграций. Ошибка, с которой я продолжаю работать:Настройка базы данных миграции в Drupal 8

Таблица "newdrupal8database.migrate_map_d7_taxonomy_vocabulary" не существует.

Я пробовал несколько разных методов попытки установить правильную базу данных, например, установить ее в модулях vocabulary.yml в разделе source>. А также установка «ключа» в исходном файле Vocabulary.php в docblock.

Странно, что имя базы данных, которое оно ищет, даже не было бы правильным, если бы оно выбрало значение по умолчанию. Это удаление дефисов из db, который на самом деле был бы «новой-drupal-8-database». Я также смущен тем, почему он ищет таблицу с именем «d7_taxonomy_vocabulary», так как я переименовал все экземпляры «d7» в моем модуле с «modulename».

Что делает его еще более трудным для отладки это кажется мне нужно запустить следующие команды каждый раз, когда мне нужно, чтобы сделать изменения и проверить это:

drush php 
Drupal::configFactory()->getEditable('migrate.migration.modulename_taxonomy_vocabulary')->delete(); 
exit 
drush pm-uninstall modulename -y && drush en modulename -y 
drush mi --all 

Просто, чтобы очистить все и повторно попытку импорт. Только чтобы снова получить ту же ошибку sql. Потеря моего ума и мне понравилась бы какая-то помощь, так как несколько ресурсов в Интернете либо слишком расплывчаты, либо устарели.

ответ

0

Хорошо, поэтому после тонны проб и ошибок я, по крайней мере, смог получить два импорта, чтобы успешно работать до сих пор. Понял, что я опубликую свое решение, если у кого-то будет такая же проблема и вы захотите попробовать.

  • Я скопировал свою базу данных по умолчанию без дефиса. Где-то drupal снимал их, поэтому просто скопировал все на db без подгибов

  • При попытке разных имен файлов я сделал мои имена миграции «migrate.migration», когда они должны были иметь префикс « migrate_plus»вместо того, чтобы, например:„migrate_plus.migration.module_taxonomy_vocabulary.yml“

Удачи всем, кому необходимо это сделать, это отстой.