.../Core/Entity/ContentEntityDatabaseStorage.php | 422 ++++++--- core/lib/Drupal/Core/Entity/Entity.php | 18 +- core/lib/Drupal/Core/Entity/EntityStorageBase.php | 1 + core/lib/Drupal/Core/Entity/Query/Sql/Tables.php | 50 +- .../Entity/Schema/ContentEntitySchemaHandler.php | 518 +++++++++++ .../Entity/Schema/EntitySchemaHandlerInterface.php | 14 + .../Schema/EntitySchemaProviderInterface.php | 23 + .../Drupal/Core/Entity/Sql/DefaultTableMapping.php | 180 ++++ .../Core/Entity/Sql/SqlEntityStorageInterface.php | 26 + .../Core/Entity/Sql/TableMappingInterface.php | 73 ++ core/lib/Drupal/Core/Extension/ModuleHandler.php | 33 + .../Plugin/Field/FieldType/EntityReferenceItem.php | 5 +- .../Field/Plugin/Field/FieldType/IntegerItem.php | 6 + .../Core/Field/Plugin/Field/FieldType/UriItem.php | 3 +- core/modules/aggregator/aggregator.install | 176 ---- core/modules/aggregator/src/Entity/Feed.php | 7 +- core/modules/aggregator/src/Entity/Item.php | 5 +- core/modules/aggregator/src/FeedStorage.php | 23 + core/modules/aggregator/src/ItemStorage.php | 23 + .../aggregator/src/Tests/FeedParserTest.php | 2 +- .../aggregator/src/Tests/Views/IntegrationTest.php | 5 +- .../block/custom_block/custom_block.install | 125 --- .../lib/Drupal/custom_block/CustomBlockStorage.php | 34 + .../block/custom_block/src/Entity/CustomBlock.php | 3 +- core/modules/comment/comment.install | 146 ---- core/modules/comment/src/CommentStorage.php | 46 + core/modules/comment/src/Entity/Comment.php | 3 +- .../Tests/CommentDefaultFormatterCacheTagsTest.php | 3 +- .../comment/src/Tests/CommentValidationTest.php | 3 +- .../config/src/Tests/ConfigImportRecreateTest.php | 4 +- .../src/Tests/ConfigImportRenameValidationTest.php | 5 +- .../editor/src/Tests/EditorFileUsageTest.php | 6 +- .../modules/entity/src/Tests/EntityDisplayTest.php | 2 +- .../src/Tests/EntityReferenceFieldTest.php | 2 +- .../src/Tests/EntityReferenceItemTest.php | 3 +- .../field/src/Tests/FieldAttachOtherTest.php | 2 +- .../field/src/Tests/FieldAttachStorageTest.php | 2 +- core/modules/field/src/Tests/FieldUnitTestBase.php | 4 +- .../modules/field/src/Tests/TranslationWebTest.php | 4 +- core/modules/file/file.install | 99 --- core/modules/file/src/Entity/File.php | 7 +- core/modules/file/src/FileStorage.php | 29 + core/modules/file/src/Tests/FileItemTest.php | 4 +- .../file/src/Tests/FileManagedUnitTestBase.php | 5 +- core/modules/file/src/Tests/SpaceUsedTest.php | 44 +- .../filter/src/Tests/FilterDefaultConfigTest.php | 2 +- .../forum/src/Tests/Views/ForumIntegrationTest.php | 2 +- core/modules/hal/src/Tests/EntityTest.php | 8 +- core/modules/hal/src/Tests/NormalizerTestBase.php | 4 +- core/modules/image/src/Tests/ImageItemTest.php | 3 +- .../src/Tests/d6/MigrateBookTest.php | 1 + .../src/Tests/d6/MigrateFieldInstanceTest.php | 1 + .../src/Tests/d6/MigrateTaxonomyTermTest.php | 7 +- core/modules/node/node.install | 305 ------- core/modules/node/node.module | 5 +- core/modules/node/src/Entity/Node.php | 55 +- core/modules/node/src/NodeForm.php | 11 +- core/modules/node/src/NodeStorage.php | 50 +- .../node/src/Tests/Condition/NodeConditionTest.php | 2 +- .../node/src/Tests/Config/NodeImportCreateTest.php | 2 +- .../modules/node/src/Tests/NodeFormButtonsTest.php | 5 +- .../modules/node/src/Tests/NodeLastChangedTest.php | 7 +- .../node/src/Tests/NodeTokenReplaceTest.php | 2 +- core/modules/node/src/Tests/NodeValidationTest.php | 2 +- .../quickedit/src/Tests/QuickEditTestBase.php | 2 +- .../rdf/src/Tests/CommentAttributesTest.php | 2 +- .../Tests/Field/TaxonomyTermReferenceRdfaTest.php | 2 +- .../src/Plugin/rest/resource/EntityResource.php | 7 + core/modules/rest/src/Tests/UpdateTest.php | 1 - .../src/Tests/EntitySerializationTest.php | 12 +- .../serialization/src/Tests/NormalizerTestBase.php | 4 +- core/modules/shortcut/shortcut.install | 90 -- core/modules/shortcut/src/Entity/Shortcut.php | 11 +- core/modules/shortcut/src/Entity/ShortcutSet.php | 16 +- core/modules/simpletest/src/KernelTestBase.php | 35 + .../simpletest/src/Tests/KernelTestBaseTest.php | 20 +- .../system/src/Tests/Action/ActionUnitTest.php | 2 +- .../system/src/Tests/Common/WriteRecordTest.php | 19 +- .../system/src/Tests/Entity/EntityApiTest.php | 14 +- .../system/src/Tests/Entity/EntityCrudHookTest.php | 16 +- .../system/src/Tests/Entity/EntityFieldTest.php | 18 +- .../src/Tests/Entity/EntityLanguageTestBase.php | 14 +- .../Tests/Entity/EntityQueryRelationshipTest.php | 2 +- .../system/src/Tests/Entity/EntityQueryTest.php | 4 +- .../system/src/Tests/Entity/EntityUUIDTest.php | 13 +- .../system/src/Tests/Entity/EntityUnitTestBase.php | 6 +- .../src/Tests/Entity/EntityValidationTest.php | 15 +- .../system/src/Tests/Entity/FieldAccessTest.php | 3 +- .../src/Tests/Entity/FieldSqlStorageTest.php | 3 +- .../system/src/Tests/TypedData/TypedDataTest.php | 2 +- .../modules/database_test/database_test.install | 29 + .../tests/modules/entity_test/entity_test.install | 386 +-------- .../src/Entity/EntityTestBaseFieldDisplay.php | 1 - .../src/Entity/EntityTestLabelCallback.php | 1 - .../entity_test/src/Entity/EntityTestMul.php | 13 - .../entity_test/src/Entity/EntityTestMulRev.php | 19 - core/modules/taxonomy/src/Entity/Term.php | 2 + core/modules/taxonomy/src/TermStorage.php | 100 +++ .../src/Tests/TaxonomyTermReferenceItemTest.php | 3 +- .../taxonomy/src/Tests/TermTranslationUITest.php | 10 +- .../taxonomy/src/Tests/TermValidationTest.php | 2 +- core/modules/taxonomy/taxonomy.install | 164 ---- .../text/src/Tests/Formatter/TextPlainUnitTest.php | 2 +- .../text/src/Tests/TextWithSummaryItemTest.php | 2 +- core/modules/user/src/AccountForm.php | 9 +- core/modules/user/src/Entity/User.php | 11 +- core/modules/user/src/Tests/UserAdminTest.php | 25 +- core/modules/user/src/Tests/UserInstallTest.php | 5 +- core/modules/user/src/Tests/UserValidationTest.php | 2 +- .../user/src/Tests/Views/UserUnitTestBase.php | 2 +- core/modules/user/src/UserStorage.php | 62 +- .../views.view.test_filter_permission.yml | 15 +- core/modules/user/user.info.yml | 2 + core/modules/user/user.install | 153 ---- core/modules/views/src/Entity/View.php | 8 +- core/modules/views/src/Plugin/views/query/Sql.php | 1 - .../src/Tests/Entity/RowEntityRenderersTest.php | 5 +- .../views/src/Tests/Handler/AreaTextTest.php | 2 +- .../views/src/Tests/Handler/HandlerAliasTest.php | 2 +- .../src/Tests/Plugin/RelationshipJoinTestBase.php | 2 +- .../views/src/Tests/Plugin/RowEntityTest.php | 2 +- core/modules/views/src/Tests/QueryGroupByTest.php | 2 +- .../modules/views/src/Tests/ViewExecutableTest.php | 8 +- .../Entity/ContentEntityDatabaseStorageTest.php | 957 ++++++++++++++++++++- .../Schema/ContentEntitySchemaHandlerTest.php | 770 +++++++++++++++++ .../Core/Entity/Sql/DefaultTableMappingTest.php | 268 ++++++ 126 files changed, 3981 insertions(+), 2071 deletions(-)