在试图了解为什么我的视图没有显示时,我注意到日志中出现以下错误:
我认为不可能从分类术语中删除 URL 别名。至少我找不到如何做到这一点。但是,我已经浏览了所有分类术语并删除了该字段的值。
此外,我检查了位于 admin/reports/fields 的报告,可以确认没有实体使用称为 URL 别名的字段。
我浏览了每个内容项并确保它们具有以下设置(有人知道如何批量执行此操作吗?)。但错误仍然存在。
任何人都知道我该如何解决这个奇怪的错误?
我不完全确定此命令的作用,但它修复了错误:
drush updb --entity-updates
从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上的其他可用方法,以便为每个场景编写数据库更新。
使用 entity_update 模块或 devel_entity_updates 模块