I’m trying to migrate user’s content profiles (Drupal 6) to Profile2’s profiles (Drupal 7) using the example from http://grasmash.com/article/migrate-classes-content-profile-profile2. When I try importing, I get the following error:
Migration failed with source plugin exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘ctp.field_titul_pred_jmenem’ in ‘field list’
This is the migration class.
class SkipProfile2Migration extends Migration { public function __construct() { parent::__construct(); $this->description = t('Migration of content profile into profile2 entities'); $this->map = new MigrateSQLMap($this->machineName, array( 'nid' => array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'description' => 'D6 Unique Node ID', 'alias' => 'n', ) ), MigrateDestinationNode::getKeySchema(), 'default' ); $query = Database::getConnection('default', 'legacy') ->select('node', 'n') ->fields('n', array('nid', 'vid', 'type', 'language', 'title', 'uid', 'status', 'created', 'changed', 'comment', 'promote', 'moderate', 'sticky', 'tnid', 'translate')) ->condition('n.type', 'profile', '='); $query->join('skip' . '.node_revisions', 'nr', 'n.vid = nr.vid'); $query->addField('nr', 'body'); $query->addField('nr', 'teaser'); $query->addField('nr', 'format'); $query->join('skip' . '.users', 'u', 'n.uid = u.uid'); $query->addField('u', 'name'); $query->leftJoin('skip' . '.content_type_clovek', 'ctp', 'n.nid = ctp.nid AND n.vid = ctp.vid'); $query->addField('ctp','field_titul_pred_jmenem'); $query->addField('ctp','field_krestni_jmeno'); $query->addField('ctp','field_prijmeni'); $query->addField('ctp','field_titul_za_jmenem'); $query->addField('ctp','field_telefon'); $query->addField('ctp','field_email_source'); $query->addField('ctp','field_ulice'); $query->addField('ctp','field_cislo_popisne'); $query->addField('ctp','field_sidlo'); $query->addField('ctp','field_smerovaci_cislo'); $query->addField('ctp','field_funkce_cloveka'); $query->addField('ctp','field_pracoviste'); $query->addField('ctp','field_stat_iso'); $query->orderBy('n.nid', 'ASC'); $source_fields = array( 'nid' => t('The node ID of the page'), 'uid' => t('The user ID of a user'), 'lid' => t('The location ID of a location instance'), ); // Create a MigrateSource object, which manages retrieving the input data. $this->source = new MigrateSourceSQL($query, $source_fields); $this->destination = new MigrateDestinationProfile2('clovek'); // FIELD MAPPINGS ...
Can anybody help me, please?