$entity =
$this->container->
get('entity_type.manager'
) ->
getStorage($entity_type) ->
create([ 'id' => 1,
'revision_id' => 1,
]);
$entity->
$field_name->value = 'field data';
$entity->
enforceIsNew();
$entity->
save();
// Add an index.
$field_storage->
setIndexes(['value' =>
[['value', 255
]]]);
$field_storage->
save();
foreach ($tables as $table) { $this->
assertTrue(Database::
getConnection()->
schema()->
indexExists($table, "{
$field_name}_value"
), "Index on value created in
$table"
);
} // Add a different index, removing the existing custom one.
$field_storage->
setIndexes(['value_format' =>
[['value', 127
],
['format', 127
]]]);
$field_storage->
save();
foreach ($tables as $table) { $this->
assertTrue(Database::
getConnection()->
schema()->
indexExists($table, "{
$field_name}_value_format"
), "Index on value_format created in
$table"
);
$this->
assertFalse(Database::
getConnection()->
schema()->
indexExists($table, "{
$field_name}_value"
), "Index on value removed in
$table"
);
}