function SqlContentEntityStorageSchema::requiresFieldStorageSchemaChanges
Checks if the changes to the storage definition requires schema changes.
Parameters
\Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition: The updated field storage definition.
\Drupal\Core\Field\FieldStorageDefinitionInterface $original: The original field storage definition.
Return value
bool TRUE if storage schema changes are required, FALSE otherwise.
Overrides DynamicallyFieldableEntityStorageSchemaInterface::requiresFieldStorageSchemaChanges
File
- 
              core/lib/ Drupal/ Core/ Entity/ Sql/ SqlContentEntityStorageSchema.php, line 261 
Class
- SqlContentEntityStorageSchema
- Defines a schema handler that supports revisionable, translatable entities.
Namespace
Drupal\Core\Entity\SqlCode
public function requiresFieldStorageSchemaChanges(FieldStorageDefinitionInterface $storage_definition, FieldStorageDefinitionInterface $original) {
  $table_mapping = $this->getTableMapping($this->entityType);
  if ($storage_definition->hasCustomStorage() != $original->hasCustomStorage() || $storage_definition->getSchema() != $original->getSchema() || $storage_definition->isRevisionable() != $original->isRevisionable() || $table_mapping->allowsSharedTableStorage($storage_definition) != $table_mapping->allowsSharedTableStorage($original) || $table_mapping->requiresDedicatedTableStorage($storage_definition) != $table_mapping->requiresDedicatedTableStorage($original)) {
    return TRUE;
  }
  if ($storage_definition->hasCustomStorage()) {
    // The field has custom storage, so we don't know if a schema change is
    // needed or not, but since per the initial checks earlier in this
    // function, nothing about the definition changed that we manage, we
    // return FALSE.
    return FALSE;
  }
  $current_schema = $this->getSchemaFromStorageDefinition($storage_definition);
  $this->processFieldStorageSchema($current_schema);
  $installed_schema = $this->loadFieldSchemaData($original);
  $this->processFieldStorageSchema($installed_schema);
  return $current_schema != $installed_schema;
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
