diff --git a/core/modules/block/block.install b/core/modules/block/block.install index 5d1ba38..4363ef8 100644 --- a/core/modules/block/block.install +++ b/core/modules/block/block.install @@ -35,6 +35,10 @@ function block_update_dependencies() { $dependencies['block'][8005] = array( 'user' => 8016, ); + // Migrate custom blocks after field storage has been reorganized. + $dependencies['block'][8008] = array( + 'field' => 8006, + ); return $dependencies; } @@ -338,7 +342,7 @@ function block_update_8008() { ); // This is a core update and no contrib modules are enabled yet, so // we can assume default field storage for a faster update. - _update_8000_field_sql_storage_write('custom_block', 'basic', $block->bid, $block->bid, 'block_body', $data); + _update_8006_field_write_data_sql('custom_block', 'basic', $block->bid, $block->bid, 'block_body', $data); $sandbox['last'] = $block->bid; $sandbox['count'] += 1; diff --git a/core/modules/field/field.install b/core/modules/field/field.install index 985addb..2898fea 100644 --- a/core/modules/field/field.install +++ b/core/modules/field/field.install @@ -105,16 +105,17 @@ function _update_8003_field_create_instance(array $field_config, array &$instanc * * @ingroup update_api */ -function _update_8000_field_sql_storage_write($entity_type, $bundle, $entity_id, $revision_id, $field_name, array $data) { - $table_name = "field_data_{$field_name}"; - $revision_name = "field_revision_{$field_name}"; +function _update_8006_field_write_data_sql($entity_type, $bundle, $entity_id, $revision_id, $field_name, array $data) { + $field_config = Drupal::config("field.field.$entity_type.$field_name"); + $field = new Field($field_config); + + $table_name = DatabaseStorageController::_fieldTableName($field); + $revision_name = DatabaseStorageController::_fieldRevisionTableName($field); db_delete($table_name) - ->condition('entity_type', $entity_type) ->condition('entity_id', $entity_id) ->execute(); db_delete($revision_name) - ->condition('entity_type', $entity_type) ->condition('entity_id', $entity_id) ->condition('revision_id', $revision_id) ->execute(); @@ -123,7 +124,6 @@ function _update_8000_field_sql_storage_write($entity_type, $bundle, $entity_id, foreach ($data as $langcode => $items) { foreach ($items as $delta => $item) { $record = array( - 'entity_type' => $entity_type, 'entity_id' => $entity_id, 'revision_id' => $revision_id, 'bundle' => $bundle, @@ -131,7 +131,7 @@ function _update_8000_field_sql_storage_write($entity_type, $bundle, $entity_id, 'langcode' => $langcode, ); foreach ($item as $column => $value) { - $record[_field_sql_storage_columnname($field_name, $column)] = $value; + $record[DatabaseStorageController::_fieldColumnName($field_name, $column)] = $value; } $records[] = $record;