class FileMigration extends Migration { public function __construct() { // Always call the parent constructor first for basic setup parent::__construct(); // Provide a basic description of what this migration does $this->description = t('Migrate Files.'); $query = db_select('Drupal_Files', 'f'); $query->addField('f', 'AttachmentID'); $query->addField('f', 'NodeAliasPath'); $query->addField('f', 'AttachmentMimeType'); $query->addField('f', 'AttachmentExtension'); $query->addField('f', 'Caption'); $query->condition('f.AttachmentExtension', array('.jpg', '.png')); // Create a MigrateSource object, which manages retrieving the input data. $this->source = new MigrateSourceSQL($query, $query->getFields(), null, array('map_joinable' => false)); // Set up our destination - terms in the category vocabulary $this->destination = new MigrateDestinationMedia('image', array('preserve_files' => TRUE)); $this->map = new MigrateSQLMap($this->machineName, array( 'AttachmentID' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'description' => 'Kentico Attachment ID', ) ), MigrateDestinationMedia::getKeySchema() ); $this->addFieldMapping('filename', 'AttachmentName'); $this->addFieldMapping('filemime', 'AttachmentMimeType'); $this->addFieldMapping('uri', 'NodeAliasPath'); $this->addFieldMapping('status')->defaultValue(1); $this->addFieldMapping('field_caption', 'Caption'); } }