drush entity-updates
是开发人员工具。如果您在自定义模块中更改实体/字段定义,则可以快速应用。
在生产中,这不应发生。如果您在官方发行版之间更新模块,则模块中的更新代码应能解决此问题。
但就您而言,您提到的是您的网站正在开发中。因此,有很多事情可能导致了这种情况。您可以使用自己的代码,也可以使用contrib模块的dev或alpha版本。
我从用于实体架构更新的CR 写更新功能中发现了此示例,并删除了自动化(还有更多示例):
/**
* Add 'revision_translation_affected' field to 'node' entities.
*/
function node_update_8001() {
// Install the definition that this field had in
// \Drupal\node\Entity\Node::baseFieldDefinitions()
// at the time that this update function was written. If/when code is
// deployed that changes that definition, the corresponding module must
// implement an update function that invokes
// \Drupal::entityDefinitionUpdateManager()->updateFieldStorageDefinition()
// with the new definition.
$storage_definition = BaseFieldDefinition::create('boolean')
->setLabel(t('Revision translation affected'))
->setDescription(t('Indicates if the last edit of a translation belongs to current revision.'))
->setReadOnly(TRUE)
->setRevisionable(TRUE)
->setTranslatable(TRUE);
\Drupal::entityDefinitionUpdateManager()
->installFieldStorageDefinition('revision_translation_affected', 'node', 'node', $storage_definition);
}