I have a content set that correctly imports numeric taxonomy terms (e.g., a source table value of '380' matches the vocabulary term name '380') when run in the browser, but when run with drush the import fails with the following error: "The term 380 does not exist in the ABC vocabulary."

If the source value accidentally matches a tid (e.g., tid:380), the import runs without error but of course assigns the wrong term. It looks to me like migrate.drush.inc simply calls migrate_content_process_import($mcsid, $options), but when I call that directly using devel it works as expected.

I followed the taxonomy import handling into taxonomy_get_vocabularies() in taxonomy.migrate.inc, but when I test _migrate_taxonomy_get_term it returns the correct tid:

$vocabs = taxonomy_get_vocabularies('workorder');
$vocab = $vocabs[1];
$text = '380';
$handler = 'warn';
dsm(_migrate_taxonomy_get_term($vocab, $text, $handler));

I'm at a loss for where to look next; everything piece I test seems to work.

Comments

mikeryan’s picture

Status: Active » Closed (won't fix)

This isn't going to be investigated in Migrate V1 - shouldn't be a problem in Migrate V2, where it's explicit whether incoming values are treated as term names or term IDs.