You are here

class MigrateDrupal6SourceSQL in Drupal-to-Drupal data migration 7.2

We override the default SQL source class just so we can clean up subfield names for the UI.

Hierarchy

Expanded class hierarchy of MigrateDrupal6SourceSQL

File

d6/node.inc, line 207
Implementation of DrupalNodeMigration for Drupal 6 sources.

View source
class MigrateDrupal6SourceSQL extends MigrateSourceSQL {

  /**
   * Translation from field names assigned when executing the query to our
   * subfield notation.
   *
   * @var array
   *  key: DB-compatible name (e.g., field_buy_link_title).
   *  value: Subfield notation (e.g., field_buy_link:title).
   */
  public $fixFieldNames = array();
  public function __construct(SelectQueryInterface $query, array $fields = array(), SelectQueryInterface $count_query = NULL, array $options = array()) {
    $this->fixFieldNames = $options['fix_field_names'];
    parent::__construct($query, $fields, $count_query, $options);
  }
  public function fields() {
    $fields = parent::fields();

    // Remove the default subfield names in favor of the nice-looking ones.
    foreach ($this->fixFieldNames as $clean => $display) {
      if (isset($fields[$clean])) {
        unset($fields[$clean]);
      }
    }
    return $fields;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MigrateDrupal6SourceSQL::$fixFieldNames public property Translation from field names assigned when executing the query to our subfield notation.
MigrateDrupal6SourceSQL::fields public function Returns a list of fields available to be mapped from the source query. Overrides MigrateSourceSQL::fields
MigrateDrupal6SourceSQL::__construct public function Simple initialization. Overrides MigrateSourceSQL::__construct
MigrateSource::$activeMap protected property The MigrateMap class for the current migration.
MigrateSource::$activeMigration protected property The Migration class currently invoking us, during rewind() and next().
MigrateSource::$cacheCounts protected property Whether this instance should cache the source count.
MigrateSource::$cacheKey protected property Key to use for caching counts.
MigrateSource::$currentKey protected property The primary key of the current row
MigrateSource::$currentRow protected property The current row from the quey
MigrateSource::$highwaterField protected property Information on the highwater mark for the current migration, if any.
MigrateSource::$idList protected property List of source IDs to process.
MigrateSource::$mapRowAdded protected property By default, next() will directly read the map row and add it to the data row. A source plugin implementation may do this itself (in particular, the SQL source can incorporate the map table into the query) - if so, it should set this TRUE so we…
MigrateSource::$multikeySeparator protected property Used in the case of multiple key sources that need to use idlist.
MigrateSource::$numIgnored protected property Number of rows intentionally ignored (prepareRow() returned FALSE)
MigrateSource::$originalHighwater protected property The highwater mark at the beginning of the import operation.
MigrateSource::$skipCount protected property Whether this instance should not attempt to count the source.
MigrateSource::$trackChanges protected property If TRUE, we will maintain hashed source rows to determine whether incoming data has changed.
MigrateSource::count public function Return a count of available source records, from the cache if appropriate. Returns -1 if the source is not countable.
MigrateSource::current public function Implementation of Iterator::current() - called when entering a loop iteration, returning the current row
MigrateSource::dataChanged protected function Determine whether this row has changed, and therefore whether it should be processed.
MigrateSource::getCurrentKey public function
MigrateSource::getIgnored public function
MigrateSource::getProcessed public function
MigrateSource::hash protected function Generate a hash of the source row. 3
MigrateSource::key public function Implementation of Iterator::key - called when entering a loop iteration, returning the key of the current row. It must be a scalar - we will serialize to fulfill the requirement, but using getCurrentKey() is preferable.
MigrateSource::next public function Implementation of Iterator::next() - subclasses of MigrateSource should implement getNextRow() to retrieve the next valid source rocord to process.
MigrateSource::prepareRow protected function Give the calling migration a shot at manipulating, and possibly rejecting, the source row.
MigrateSource::resetStats public function Reset numIgnored back to 0.
MigrateSource::rewind public function Implementation of Iterator::rewind() - subclasses of MigrateSource should implement performRewind() to do any class-specific setup for iterating source records.
MigrateSource::valid public function Implementation of Iterator::valid() - called at the top of the loop, returning TRUE to process the loop and FALSE to terminate it
MigrateSourceSQL::$batch protected property Current data batch.
MigrateSourceSQL::$batchSize protected property Number of records to fetch from the database during each batch. A value of zero indicates no batching is to be done.
MigrateSourceSQL::$fields protected property List of available source fields.
MigrateSourceSQL::$highwaterSeen protected property Whether, in the current iteration, we have reached the highwater mark.
MigrateSourceSQL::$mapJoinable protected property If the map is a MigrateSQLMap, and the table is compatible with the source query, we can join directly to the map and make things much faster and simpler.
MigrateSourceSQL::$numProcessed protected property Number of eligible rows processed so far (used for itemlimit checking). Overrides MigrateSource::$numProcessed
MigrateSourceSQL::$originalQuery protected property The SQL query objects from which to obtain data, and counts of data.
MigrateSourceSQL::$result protected property The result object from executing the query - traversed to process the incoming data.
MigrateSourceSQL::$usingHighwater protected property Whether this source is configured to use a highwater mark, and there is a highwater mark present to use.
MigrateSourceSQL::computeCount public function Return a count of all available source records.
MigrateSourceSQL::getNextBatch protected function Downloads the next set of data from the source database.
MigrateSourceSQL::getNextRow public function Implementation of MigrateSource::getNextRow().
MigrateSourceSQL::options public static function Return an options array for PDO sources.
MigrateSourceSQL::performRewind public function Implementation of MigrateSource::performRewind().
MigrateSourceSQL::query public function Return a reference to the base query, in particular so Migration classes can add conditions/joins/etc to the query for a source defined in a base class.
MigrateSourceSQL::setMapJoinable public function
MigrateSourceSQL::__toString public function Return a string representing the source query.