function entity_usage_update_8301 in Entity Usage 8.3
Recreate the entity usage table with the new schema.
File
- ./
entity_usage.install, line 436 - Install, update and uninstall functions for entity_usage module.
Code
function entity_usage_update_8301(&$sandbox) {
$schema = \Drupal::database()
->schema();
$schema
->dropTable('entity_usage');
// This is deliberately duplicated instead of calling entity_usage_schema().
$new_spec = [
'description' => 'Track entities that reference other entities.',
'fields' => [
'target_id' => [
'description' => 'The target entity ID.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'target_id_string' => [
'description' => 'The target ID, when the entity uses string IDs.',
'type' => 'varchar_ascii',
'length' => 128,
'not null' => TRUE,
'default' => '',
],
'target_type' => [
'description' => 'The target entity type.',
'type' => 'varchar_ascii',
'length' => 128,
'not null' => TRUE,
'default' => '',
],
'source_id' => [
'description' => 'The source entity ID.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'source_id_string' => [
'description' => 'The source ID, when the entity uses string IDs.',
'type' => 'varchar_ascii',
'length' => 128,
'not null' => FALSE,
],
'source_type' => [
'description' => 'The source entity type.',
'type' => 'varchar_ascii',
'length' => 128,
'not null' => TRUE,
'default' => '',
],
'source_langcode' => [
'description' => 'The source entity language code.',
'type' => 'varchar_ascii',
'length' => 12,
'not null' => TRUE,
'default' => '',
],
'source_vid' => [
'description' => 'The source entity revision ID.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
],
'primary key' => [
'target_id',
'target_id_string',
'target_type',
'source_id',
'source_type',
'source_langcode',
'source_vid',
],
'indexes' => [
'target_entity' => [
'target_type',
'target_id',
],
'target_entity_string' => [
'target_type',
'target_id_string',
],
'source_entity' => [
'source_type',
'source_id',
],
'source_entity_string' => [
'source_type',
'source_id_string',
],
],
];
$schema
->createTable('entity_usage', $new_spec);
}