diff --git a/core/modules/taxonomy/src/Plugin/migrate/source/d6/I18nTaxonomyVocabulary.php b/core/modules/taxonomy/src/Plugin/migrate/source/d6/I18nTaxonomyVocabulary.php index 1a102a9..664849f 100644 --- a/core/modules/taxonomy/src/Plugin/migrate/source/d6/I18nTaxonomyVocabulary.php +++ b/core/modules/taxonomy/src/Plugin/migrate/source/d6/I18nTaxonomyVocabulary.php @@ -38,7 +38,9 @@ public function query() { ->fields('lt', ['lid', 'translation']) ->condition('i18n.type', 'vocabulary'); $query->addField('lt', 'language', 'language'); - $query->join('i18n_strings', 'i18n', 'i18n.objectid = v.vid'); + // The vid is an integer and the objectid is a string. Use the like operator + // to force PostgreSQL to cast the vid to a string. + $query->join('i18n_strings', 'i18n', 'v.vid like i18n.objectid'); $query->leftJoin('locales_target', 'lt', 'lt.lid = i18n.lid'); return $query;