在Drupal 8

时间:2016-12-18 02:30:28

标签: drupal migration drupal-8

尝试创建Drupal7到8次迁移的噩梦。我一直遇到的错误是:

表“newdrupal8database.migrate_map_d7_taxonomy_vocabulary”不存在。

我尝试了一些尝试设置正确数据库的不同方法,例如在source>下的模块vocabulary.yml中设置它。键。并在docblock中的Vocabulary.php源文件中设置“密钥”。

奇怪的是,如果选择默认值,它正在寻找的数据库名称甚至都不正确。它正在从db中删除连字符,这实际上是“new-drupal-8-database”。我也很困惑为什么它正在寻找一个名为“d7_taxonomy_vocabulary”的表,因为我已经在模块中用“modulename”重命名了所有“d7”实例。

调试起来更加困难的是,每当我需要进行更改并测试时,我需要运行以下命令:

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错误。由于网上的资源太少或过时,我会失去理智,并会喜欢一些帮助

1 个答案:

答案 0 :(得分:0)

好的,所以经过大量的反复试验,我至少能够让两个进口成功运行到目前为止。想我发布我的解决方案,以防有人遇到同样的问题,并想尝试一下。

  • 我将默认数据库复制到没有连字符的数据库。某个地方drupal正在剥离这些,所以只是将所有内容复制到数据库而没有大肆宣传

  • 在尝试不同的文件名时,我制作了我的迁移名称" migrate.migration.module_taxonomy_vocabulary.yml",当需要以" migrate_plus"为前缀时相反,即:" migrate_plus.migration.module_taxonomy_vocabulary.yml"

祝所有需要这样做的人好运,这很糟糕。