/** * Gets the first available field name for a give source field. * * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $definition * * @return string * @internal param \Drupal\scheduled_updates\ScheduledUpdateTypeInterface $scheduled_update_type * */ protected function getNewFieldName(FieldStorageDefinitionInterface $definition) { $field_name = $definition->getName(); if ($definition->isBaseField()) { $field_name = $this->configFactory->get('field_ui.settings')->get('field_prefix') . $field_name; } $suffix = 0; $new_field_name = $field_name; while ($this->fieldNameExists($new_field_name, 'scheduled_update')) { $suffix++; $new_field_name = $field_name . '_' . $suffix; } return $new_field_name; }
/** * Checks whether the given field can be stored in a shared table. * * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition * The field storage definition. * * @return bool * TRUE if the field can be stored in a dedicated table, FALSE otherwise. */ public function allowsSharedTableStorage(FieldStorageDefinitionInterface $storage_definition) { return !$storage_definition->hasCustomStorage() && $storage_definition->isBaseField() && !$storage_definition->isMultiple(); }
/** * Gets the first available field name for a give source field. * * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $definition * * @return string * @internal param \Drupal\scheduled_updates\ScheduledUpdateTypeInterface * $scheduled_update_type * */ protected function getNewFieldName(FieldStorageDefinitionInterface $definition) { $field_name = $definition->getName(); if ($definition->isBaseField()) { $field_name = $this->configFactory->get('field_ui.settings')->get('field_prefix') . $field_name; } return $this->createNonExistingFieldName($field_name, 'scheduled_update'); }