【问题标题】:Setting the migration database in Drupal 8在 Drupal 8 中设置迁移数据库
【发布时间】:2016-12-18 02:30:28
【问题描述】:

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

表“newdrupal8database.migrate_map_d7_taxonomy_vocabulary”不存在。

我尝试了几种不同的方法来尝试设置正确的数据库,例如在模块词汇表.yml 中的 source > 键下设置它。并且还在 docblock 的 Vocabulary.php 源文件中设置一个“键”。

同样奇怪的是,如果它选择默认值,它正在寻找的数据库名称甚至都不正确。它正在从实际上是“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错误。失去理智并希望得到一些帮助,因为网上的少数资源要么太模糊要么已经过时

【问题讨论】:

    标签: drupal migration drupal-8


    【解决方案1】:

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

    • 我将默认数据库复制到一个没有连字符的数据库。某处drupal正在剥离这些,所以只需将所有内容复制到一个没有hypens的数据库

    • 在尝试不同的文件名时,我将迁移名称设为“migrate.migration.module_taxonomy_vocabulary.yml”,而当它们需要以“migrate_plus”作为前缀时,即:“migrate_plus.migration.module_taxonomy_vocabulary.yml”

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      相关资源
      最近更新 更多