I am developing a module for migrating data from html file to drupal node. Each Html file is having 500+ logs. I want to create node for each log record. I have started development of module as it is explained in DRPAL DOCUMENTATION i.e.: https://www.drupal.org/node/2029713/ But I am not getting exact solution for resolving it. Getting this error: > An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging > information follows. Path: /batch?id=40&op=do StatusText: Service > unavailable (with message) ResponseText: PDOException: > SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer > value: '/Chat Log - 07:01:2014.html' for column 'sourceid1' at row 1: > INSERT INTO {migrate_map_alertnodemigrate} (sourceid1, needs_update, > rollback_action) VALUES (:db_insert_placeholder_0, > :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( > [:db_insert_placeholder_0] => /Chat Log - 07:01:2014.html > [:db_insert_placeholder_1] => 3 [:db_insert_placeholder_2] => 0 ) in > MigrateSQLMap->saveIDMapping() (line 337 of > /data/disk/o1/static/chartz_2/sites/all/modules/contrib/migrate/plugins/sources/sqlmap.inc). Here is my code for this: class AlertNodeMigration extends Migration { public function __construct($arguments) { parent::__construct(); // SOURCE OBJECT $directories = array('/data/disk/o1/static/chat_log/html'); $base_dir = '/data/disk/o1/static/chat_log/html'; $regex = '/(.*\.htm$|.*\.html$)/i'; $list_files = new MigrateListFiles($directories, $base_dir, $regex); $item_file = new MigrateItemFile($base_dir); $fields = array( 'title' => t('Node: Title'), 'uid' => t('Node: User Id'), 'created' => t('Node: Created Timestamp'), 'changed' => t('Node: Modified timestamp'), 'status' => t('Node: Published'), 'promote' => t('Node: Promoted to front page'), 'sticky' => t('Node: Sticky at top of lists'), 'revision' => t('Node: Create new revision'), 'log' => t('Node: Revision Log message'), 'language' => t('Node: Language (fr, en, ...)'), 'tnid' => t('Node: The translation set id for this node'), 'translate' => t('Node: A boolean indicating whether this translation page needs to be updated'), 'revision_uid' => t('Node: Modified (uid)'), 'is_new' => t('Option: Indicates a new node with the specified nid should be created'), 'field_instrument' => t('Field: Instrument (entityreference)'), 'field_alert' => t('Field: Alert (text_long)'), 'field_alert:language' => t('Subfield: Language for the field'), 'field_sentiment_analysis' => t('Field: Sentiment Analysis (list_text)'), 'field_tags' => t('Field: Tags (taxonomy_term_reference)'), 'field_tags:source_type' => t('Option: Set to \'tid\' when the value is a source ID'), 'field_tags:create_term' => t('Option: Set to TRUE to create referenced terms when necessary'), 'field_tags:ignore_case' => t('Option: Set to TRUE to ignore case differences between source data and existing term names'), 'field_source' => t('Field: Source (list_text)'), 'path' => t('Node: Path alias'), 'comment' => t('Whether comments may be posted to the node') ); $this->team = array(new MigrateTeamMember('alertnode', '[email protected]', t('Implementor'))); $this->description = t('Alert Node Migration'); $this->source = new MigrateSourceList($list_files, $item_file, $fields); // DESTINATION Object $this->destination = new MigrateDestinationNode('alert'); // MAP OBJECT $this->map = new MigrateSQLMap($this->machineName, array( 'sourceid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, ) ), MigrateDestinationNode::getKeySchema() ); // FIELD MAPPING OBJECT $this->addFieldMapping('title', 'title'); $this->addFieldMapping('uid', 'uid'); $this->addFieldMapping('created', 'created'); $this->addFieldMapping('changed', 'changed'); $this->addFieldMapping('status', 'status'); $this->addFieldMapping('promote', 'promote'); $this->addFieldMapping('sticky', 'sticky'); $this->addFieldMapping('revision', 'revision'); $this->addFieldMapping('log', 'log'); $this->addFieldMapping('language', 'language'); $this->addFieldMapping('tnid', 'tnid'); $this->addFieldMapping('translate', 'translate'); $this->addFieldMapping('revision_uid', 'revision_uid'); $this->addFieldMapping('is_new', 'is_new'); $this->addFieldMapping('field_instrument', 'field_instrument'); $this->addFieldMapping('field_alert', 'field_alert'); $this->addFieldMapping('field_alert:language', 'field_alert:language'); $this->addFieldMapping('field_sentiment_analysis', 'field_sentiment_analysis'); $this->addFieldMapping('field_tags', 'field_tags'); $this->addFieldMapping('field_tags:source_type', 'field_tags:source_type'); $this->addFieldMapping('field_tags:create_term', 'field_tags:create_term'); $this->addFieldMapping('field_tags:ignore_case', 'field_tags:ignore_case'); $this->addFieldMapping('field_source', 'field_source'); $this->addFieldMapping('path', 'path'); $this->addFieldMapping('comment', 'comment'); } public function prepareRow($row) { return true; } public function prepare($node, stdClass $row) { // Set to admin for now. $node->uid = 1; // Create a new SourceParser to handle HTML content. $source_parser = new SourceParser(substr($row->sourceid, 1), $row->filedata); $alerthtml = $source_parser->parse_alert_html($row->html); $node->title = $alerthtml['title']; // Node: Title $node->uid = '1'; //Node: User Id $node->created = $alerthtml['timestamp']; //Node: Created Timestamp $node->changed = '0'; //Node: Modified timestamp $node->status = 'published'; //Node: Published $node->promote = '0'; //Node: Promoted to front page $node->sticky = '0'; //Node: Sticky at top of lists $node->revision = '0'; //Node: Create new revision $row->log = '0'; //Node: Revision Log message $node->language = 'en'; //Node: Language (fr, en, ...) $node->tnid = '0'; //Node: The translation set id for this node $node->translate = '0'; //Node: A boolean indicating whether this translation page $node->revision_uid = '1'; //Node: Modified (uid) $node->is_new = '1'; //Option: Indicates a new node with the specified nid $node->field_instrument = $alerthtml['inst'];//Field: Instrument (entityreference) $node->field_alert = $alerthtml['alert_text'];//Field: Alert (text_long) $node->field_alert['language'] = 'en'; //Subfield: Language for the field $node->field_sentiment_analysis = 'positive';//Field: Sentiment Analysis (list_text) $node->field_tags = '0'; //Field: Tags (taxonomy_term_reference) $node->field_tags['source_type'] = $alerthtml['src_typ'];//Option: Set to \'tid\' when the value is a source ID $node->field_tags['create_term'] = $alerthtml['term'];//Option: Set to TRUE to create referenced terms $node->field_tags['ignore_case'] = $alerthtml['ignr'];//Option: Set to TRUE to ignore case differences $node->field_source = $alerthtml['src']; //Field: Source (list_text) $node->path = $alerthtml['title']; //Node: Path alias $node->comment = $alerthtml['comments']; //Whether comments may be posted to the node } } Is anyone can help me ? Thanks in advance.