diff --git a/core/modules/block_content/block_content.install b/core/modules/block_content/block_content.install index 6b1c397..7f1ec12 100644 --- a/core/modules/block_content/block_content.install +++ b/core/modules/block_content/block_content.install @@ -89,6 +89,13 @@ function block_content_update_8300() { $manager->installFieldStorageDefinition('status', 'block_content', 'block_content', $status); + $db_schema = \Drupal::database()->schema(); + if ($db_schema->fieldExists('block_content_field_data', 'content_translation_status')) { + $db_schema->dropField('block_content_field_data', 'content_translation_status'); + } + if ($db_schema->fieldExists('block_content_field_revision', 'content_translation_status')) { + $db_schema->dropField('block_content_field_revision', 'content_translation_status'); + } } /** diff --git a/core/modules/block_content/src/BlockContentStorageSchema.php b/core/modules/block_content/src/BlockContentStorageSchema.php index 5a54100..e1107fd 100644 --- a/core/modules/block_content/src/BlockContentStorageSchema.php +++ b/core/modules/block_content/src/BlockContentStorageSchema.php @@ -17,8 +17,13 @@ protected function getSharedTableFieldSchema(FieldStorageDefinitionInterface $st $schema = parent::getSharedTableFieldSchema($storage_definition, $table_name, $column_mapping); if ($storage_definition->getName() == 'status') { - // Set all block content as published. - $schema['fields']['status']['initial'] = 1; + if (\Drupal::database()->schema()->fieldExists('block_content_field_data', 'content_translation_status')) { + $schema['fields']['status']['initial_from_field'] = 'content_translation_status'; + } + else { + // Set all block content as published. + $schema['fields']['status']['initial'] = 1; + } } return $schema; diff --git a/core/modules/block_content/src/Tests/Update/BlockContentUpdateTest.php b/core/modules/block_content/src/Tests/Update/BlockContentUpdateTest.php index c0ba15f..8c5bc0d 100644 --- a/core/modules/block_content/src/Tests/Update/BlockContentUpdateTest.php +++ b/core/modules/block_content/src/Tests/Update/BlockContentUpdateTest.php @@ -16,7 +16,7 @@ class BlockContentUpdateTest extends UpdatePathTestBase { */ protected function setDatabaseDumpFiles() { $this->databaseDumpFiles = [ - __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8-rc1.bare.standard.php.gz', + __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8-rc1.filled.standard.php.gz', ]; }