You are here

public function MigrateSQLMap::__construct in Migrate 6.2

Same name and namespace in other branches
  1. 7.2 plugins/sources/sqlmap.inc \MigrateSQLMap::__construct()

File

plugins/sources/sqlmap.inc, line 72
Defines a Drupal db-based implementation of MigrateMap.

Class

MigrateSQLMap
@file Defines a Drupal db-based implementation of MigrateMap.

Code

public function __construct($machine_name, array $source_key, array $destination_key, $connection_key = 'default', $options = array()) {
  if (isset($options['track_last_imported'])) {
    $this->trackLastImported = TRUE;
  }

  // Default generated table names, limited to 63 characters
  $this->mapTable = 'migrate_map_' . drupal_strtolower($machine_name);
  $this->mapTable = substr($this->mapTable, 0, 63);
  $this->messageTable = 'migrate_message_' . drupal_strtolower($machine_name);
  $this->messageTable = substr($this->messageTable, 0, 63);
  $this->sourceKey = $source_key;
  $this->destinationKey = $destination_key;
  $this->connection = Database::getConnection('default', $connection_key);

  // Build the source and destination key maps
  $this->sourceKeyMap = array();
  $count = 1;
  foreach ($source_key as $field => $schema) {
    $this->sourceKeyMap[$field] = 'sourceid' . $count++;
  }
  $this->destinationKeyMap = array();
  $count = 1;
  foreach ($destination_key as $field => $schema) {
    $this->destinationKeyMap[$field] = 'destid' . $count++;
  }
  $this
    ->ensureTables();
}