Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
|
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Entity\Schema\EntityStorageSchemaInterface. | |
| */ | |
| namespace Drupal\Core\Entity\Schema; | |
| use Drupal\Core\Entity\EntityTypeInterface; | |
| use Drupal\Core\Entity\EntityTypeListenerInterface; | |
| /** | |
| * Defines the interface for entity storage schema handler classes. | |
| * | |
| * An entity type's storage schema handler is responsible for creating the | |
| * storage backend's schema that the entity type's storage handler needs for | |
| * storing its entities. For example, if the storage handler is for a SQL | |
| * backend, then the storage schema handler is responsible for creating the | |
| * needed tables. During the application lifetime, an entity type's definition | |
| * can change in a way that requires changes to the storage schema, so this | |
| * interface defines methods for that as well. | |
| * | |
| * @see \Drupal\Core\Entity\EntityStorageInterface | |
| */ | |
| interface EntityStorageSchemaInterface extends EntityTypeListenerInterface { | |
| /** | |
| * Checks if the changes to the entity type requires storage schema changes. | |
| * | |
| * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type | |
| * The updated entity type definition. | |
| * @param \Drupal\Core\Entity\EntityTypeInterface $original | |
| * The original entity type definition. | |
| * | |
| * @return bool | |
| * TRUE if storage schema changes are required, FALSE otherwise. | |
| */ | |
| public function requiresEntityStorageSchemaChanges(EntityTypeInterface $entity_type, EntityTypeInterface $original); | |
| /** | |
| * Checks if existing data would be lost if the schema changes were applied. | |
| * | |
| * If there are no schema changes needed, then no data needs to be migrated, | |
| * but it is not the responsibility of this function to recheck what | |
| * requiresEntityStorageSchemaChanges() checks. Rather, the meaning of what | |
| * this function returns when requiresEntityStorageSchemaChanges() returns | |
| * FALSE is undefined. Callers are expected to only call this function when | |
| * requiresEntityStorageSchemaChanges() is TRUE. | |
| * | |
| * This function can return FALSE if any of these conditions apply: | |
| * - There are no existing entities for the entity type. | |
| * - There are existing entities, but the schema changes can be applied | |
| * without losing their data (e.g., if the schema changes can be performed | |
| * by altering tables rather than dropping and recreating them). | |
| * - The only entity data that would be lost are ones that are not valid for | |
| * the new definition (e.g., if changing an entity type from revisionable | |
| * to non-revisionable, then it's okay to drop data for the non-default | |
| * revision). | |
| * | |
| * When this function returns FALSE, site administrators will be unable to | |
| * perform an automated update, and will instead need to perform a site | |
| * migration or invoke some custom update process. | |
| * | |
| * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type | |
| * The updated entity type definition. | |
| * @param \Drupal\Core\Entity\EntityTypeInterface $original | |
| * The original entity type definition. | |
| * | |
| * @return bool | |
| * TRUE if data migration is required, FALSE otherwise. | |
| * | |
| * @see self::requiresEntityStorageSchemaChanges() | |
| */ | |
| public function requiresEntityDataMigration(EntityTypeInterface $entity_type, EntityTypeInterface $original); | |
| } |