Drupal 8:实体和/或字段定义不匹配

时间:2016-05-13 15:52:48

标签: drupal drupal-views pathauto

在尝试理解我的视图未显示的原因时,我注意到日志中出现以下错误:

enter image description here

我认为不可能从Taxonomy术语中删除URL别名。至少我找不到怎么做。 但是,我已经完成了所有的分类术语并删除了该字段的值。

我还与Pathauto做了以下事情: enter image description here

另外,我检查了位于admin / reports / fields的报告,并确认没有使用名为URL别名的字段的实体。

我已经浏览了每个内容项并确保它们具有以下设置(任何人都知道如何批量执行此操作?)。但仍然存在错误。 enter image description here

任何人都知道如何解决这个奇怪的错误?

2 个答案:

答案 0 :(得分:2)

我不完全确定这个命令是做什么的,但它修复了错误:

drush updb --entity-updates

答案 1 :(得分:0)

https://www.drupal.org/node/2554097以来,负责更新实体定义的Drupal核心的魔力消失了。 drush updb --entiy-updates可以替代它,但它不是灵丹妙药。相反,编写数据库更新会更安全。

以顶部的屏幕截图为例,这是一个数据库更新,它将删除这两个字段定义:

/**
 * Fix taxonomy and node field definitions.
 *
 */
function mymodule_update_8101() {
  $manager = \Drupal::entityDefinitionUpdateManager();

  if ($field = $manager->getFieldStorageDefinition('alias', 'node')) {
    $manager->uninstallFieldStorageDefinition($field);
  }

  if ($field = $manager->getFieldStorageDefinition('alias', 'term')) {
    $manager->uninstallFieldStorageDefinition($field);
  }
}

https://www.drupal.org/node/2554097查看其余可用方法,以便为每个方案编写数据库更新。