尝试创建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错误。由于网上的资源太少或过时,我会失去理智,并会喜欢一些帮助
答案 0 :(得分:0)
好的,所以经过大量的反复试验,我至少能够让两个进口成功运行到目前为止。想我发布我的解决方案,以防有人遇到同样的问题,并想尝试一下。
我将默认数据库复制到没有连字符的数据库。某个地方drupal正在剥离这些,所以只是将所有内容复制到数据库而没有大肆宣传
在尝试不同的文件名时,我制作了我的迁移名称" migrate.migration.module_taxonomy_vocabulary.yml",当需要以" migrate_plus"为前缀时相反,即:" migrate_plus.migration.module_taxonomy_vocabulary.yml"
祝所有需要这样做的人好运,这很糟糕。