function WorkspaceAssociationRevisionTableUpdateTest::getOldAssociatedInitialRevisions
Replicates the old getAssociatedInitialRevisions logic from 11.x.
1 call to WorkspaceAssociationRevisionTableUpdateTest::getOldAssociatedInitialRevisions()
- WorkspaceAssociationRevisionTableUpdateTest::testWorkspaceAssociationRevisionTableUpdate in core/
modules/ workspaces/ tests/ src/ Functional/ Update/ WorkspaceAssociationRevisionTableUpdateTest.php - Tests that the workspace_association_revision table is created and populated.
File
-
core/
modules/ workspaces/ tests/ src/ Functional/ Update/ WorkspaceAssociationRevisionTableUpdateTest.php, line 142
Class
- WorkspaceAssociationRevisionTableUpdateTest
- Tests the upgrade path for the workspace_association_revision table.
Namespace
Drupal\Tests\workspaces\Functional\UpdateCode
private function getOldAssociatedInitialRevisions($connection, $entity_type_manager, $workspace_id, $entity_type_id, array $entity_ids = []) : array {
/** @var \Drupal\Core\Entity\EntityStorageInterface $storage */
$storage = $entity_type_manager->getStorage($entity_type_id);
$entity_type = $storage->getEntityType();
$table_mapping = $storage->getTableMapping();
$id_field = $table_mapping->getColumnNames($entity_type->getKey('id'))['value'];
$revision_id_field = $table_mapping->getColumnNames($entity_type->getKey('revision'))['value'];
$query = $connection->select($entity_type->getBaseTable(), 'base');
$query->leftJoin($entity_type->getRevisionTable(), 'revision', "base.{$revision_id_field} = revision.{$revision_id_field}");
$query->fields('base', [
$revision_id_field,
$id_field,
])
->condition("revision.workspace", $workspace_id, '=')
->orderBy("base.{$revision_id_field}", 'ASC');
// Restrict the result to a set of entity ID's if provided.
if ($entity_ids) {
$query->condition("base.{$id_field}", $entity_ids, 'IN');
}
$result = $query->execute()
->fetchAllKeyed();
return $result;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.