class TestSqlIdMap

Same name in other branches
  1. 8.9.x core/modules/migrate/tests/src/Unit/TestSqlIdMap.php \Drupal\Tests\migrate\Unit\TestSqlIdMap
  2. 10 core/modules/migrate/tests/src/Unit/TestSqlIdMap.php \Drupal\Tests\migrate\Unit\TestSqlIdMap
  3. 11.x core/modules/migrate/tests/src/Unit/TestSqlIdMap.php \Drupal\Tests\migrate\Unit\TestSqlIdMap

Defines a SQL ID map for use in tests.

Hierarchy

Expanded class hierarchy of TestSqlIdMap

1 file declares its use of TestSqlIdMap
SqlTest.php in core/modules/migrate/tests/src/Kernel/Plugin/id_map/SqlTest.php

File

core/modules/migrate/tests/src/Unit/TestSqlIdMap.php, line 15

Namespace

Drupal\Tests\migrate\Unit
View source
class TestSqlIdMap extends Sql implements \Iterator {
    
    /**
     * Constructs a TestSqlIdMap object.
     *
     * @param \Drupal\Core\Database\Connection $database
     *   The database.
     * @param array $configuration
     *   The configuration.
     * @param string $plugin_id
     *   The plugin ID for the migration process to do.
     * @param mixed $plugin_definition
     *   The configuration for the plugin.
     * @param \Drupal\migrate\Plugin\MigrationInterface $migration
     *   The migration to do.
     * @param \Symfony\Contracts\EventDispatcher\EventDispatcherInterface $event_dispatcher
     *   The event dispatcher service.
     * @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_manager
     *   The migration manager.
     */
    public function __construct(Connection $database, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EventDispatcherInterface $event_dispatcher, MigrationPluginManagerInterface $migration_manager) {
        $this->database = $database;
        parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $event_dispatcher, $migration_manager);
    }
    
    /**
     * {@inheritdoc}
     */
    public $message;
    
    /**
     * {@inheritdoc}
     */
    public function getDatabase() {
        return parent::getDatabase();
    }
    
    /**
     * Gets the field schema.
     *
     * @param array $id_definition
     *   An array defining the field, with a key 'type'.
     *
     * @return array
     *   A field schema depending on value of key 'type'.  An empty array is
     *   returned if 'type' is not defined.
     *
     * @throws \Drupal\migrate\MigrateException
     */
    protected function getFieldSchema(array $id_definition) {
        if (!isset($id_definition['type'])) {
            return [];
        }
        switch ($id_definition['type']) {
            case 'integer':
                return [
                    'type' => 'int',
                    'not null' => TRUE,
                ];
            case 'string':
                return [
                    'type' => 'varchar',
                    'length' => 255,
                    'not null' => FALSE,
                ];
            default:
                throw new MigrateException($id_definition['type'] . ' not supported');
        }
    }
    
    /**
     * {@inheritdoc}
     */
    public function ensureTables() {
        parent::ensureTables();
    }
    
    /**
     * {@inheritdoc}
     */
    public function getMigrationPluginManager() {
        return parent::getMigrationPluginManager();
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
MigrateIdMapInterface::ROLLBACK_DELETE constant Indicates that the data for the row is to be deleted.
MigrateIdMapInterface::ROLLBACK_PRESERVE constant Indicates that the data for the row is to be preserved.
MigrateIdMapInterface::STATUS_FAILED constant Indicates that the import of the row failed.
MigrateIdMapInterface::STATUS_IGNORED constant Indicates that the import of the row was ignored.
MigrateIdMapInterface::STATUS_IMPORTED constant Indicates that the import of the row was successful.
MigrateIdMapInterface::STATUS_NEEDS_UPDATE constant Indicates that the row needs to be updated.
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
Sql::$currentKey protected property The current key.
Sql::$currentRow protected property The current row.
Sql::$database protected property The database connection for the map/message tables on the destination.
Sql::$destinationIdFields protected property The destination ID fields.
Sql::$destinationIds protected property The destination identifiers.
Sql::$eventDispatcher protected property An event dispatcher instance to use for map events.
Sql::$initialized protected property Whether the plugin is already initialized.
Sql::$mapTableName protected property The migration map table name.
Sql::$messageTableName protected property The message table name.
Sql::$migration protected property The migration being done.
Sql::$migrationPluginManager protected property The migration plugin manager.
Sql::$query protected property The select query.
Sql::$result protected property The result.
Sql::$sourceIdFields protected property The source ID fields.
Sql::$sourceIds protected property The source identifiers.
Sql::clearMessages public function Clears all messages from the map. Overrides MigrateIdMapInterface::clearMessages
Sql::countHelper protected function Counts records in a table.
Sql::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
Sql::current public function Implementation of \Iterator::current().
Sql::currentDestination public function Looks up the destination identifier currently being iterated. Overrides MigrateIdMapInterface::currentDestination
Sql::currentSource public function Looks up the source identifier(s) currently being iterated. Overrides MigrateIdMapInterface::currentSource
Sql::delete public function Deletes the map and message entries for a given source record. Overrides MigrateIdMapInterface::delete
Sql::deleteDestination public function Deletes the map and message table entries for a given destination row. Overrides MigrateIdMapInterface::deleteDestination
Sql::destinationIdFields protected function The destination ID fields.
Sql::destroy public function Removes any persistent storage used by this map. Overrides MigrateIdMapInterface::destroy
Sql::errorCount public function Returns the number of items that failed to import. Overrides MigrateIdMapInterface::errorCount
Sql::getHighestId public function Returns the highest ID tracked by the implementing plugin. Overrides HighestIdInterface::getHighestId
Sql::getMessages public function Retrieves a traversable object of messages related to source records. Overrides MigrateIdMapInterface::getMessages
Sql::getQualifiedMapTableName public function Get the fully qualified map table name. Overrides MigrateIdMapInterface::getQualifiedMapTableName
Sql::getRowByDestination public function Retrieves a row by the destination identifiers. Overrides MigrateIdMapInterface::getRowByDestination
Sql::getRowBySource public function Retrieves a row from the map table based on source identifier values. Overrides MigrateIdMapInterface::getRowBySource
Sql::getRowsNeedingUpdate public function Retrieves an array of map rows marked as needing update. Overrides MigrateIdMapInterface::getRowsNeedingUpdate
Sql::getSourceIdsHash public function Retrieves the hash of the source identifier values.
Sql::importedCount public function Returns the number of imported items in the map. Overrides MigrateIdMapInterface::importedCount
Sql::init protected function Initialize the plugin.
Sql::key public function Implementation of \Iterator::key().
Sql::lookupDestinationIds public function Looks up the destination identifiers corresponding to a source key. Overrides MigrateIdMapInterface::lookupDestinationIds
Sql::lookupSourceId public function Looks up the source identifier. Overrides MigrateIdMapInterface::lookupSourceId
Sql::mapTableName public function The name of the database map table.
Sql::messageCount public function Returns the number of messages saved. Overrides MigrateIdMapInterface::messageCount
Sql::messageTableName public function The name of the database message table.
Sql::next public function Implementation of \Iterator::next().
Sql::prepareUpdate public function Prepares to run a full update. Overrides MigrateIdMapInterface::prepareUpdate
Sql::processedCount public function Returns the number of processed items in the map. Overrides MigrateIdMapInterface::processedCount
Sql::rewind public function Implementation of \Iterator::rewind().
Sql::saveIdMapping public function Saves a mapping from the source identifiers to the destination identifiers. Overrides MigrateIdMapInterface::saveIdMapping
Sql::saveMessage public function Saves a message related to a source record in the migration message table. Overrides MigrateIdMapInterface::saveMessage
Sql::setMessage public function Sets the migrate message service. Overrides MigrateIdMapInterface::setMessage
Sql::setUpdate public function Sets a specified record to be updated, if it exists. Overrides MigrateIdMapInterface::setUpdate
Sql::sourceIdFields protected function The source ID fields.
Sql::SOURCE_IDS_HASH constant Column name of hashed source id values.
Sql::updateCount public function Returns a count of items which are marked as needing update. Overrides MigrateIdMapInterface::updateCount
Sql::valid public function Implementation of \Iterator::valid().
TestSqlIdMap::$message public property The migrate message service. Overrides Sql::$message
TestSqlIdMap::ensureTables public function Create the map and message tables if they don't already exist. Overrides Sql::ensureTables
TestSqlIdMap::getDatabase public function Gets the database connection. Overrides Sql::getDatabase
TestSqlIdMap::getFieldSchema protected function Gets the field schema. Overrides Sql::getFieldSchema 1
TestSqlIdMap::getMigrationPluginManager public function Returns the migration plugin manager. Overrides Sql::getMigrationPluginManager
TestSqlIdMap::__construct public function Constructs a TestSqlIdMap object. Overrides Sql::__construct

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.