From 62395e72250fc29b4de3314f71da94ba623bdbac Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Mon, 10 Feb 2020 13:19:12 +0000
Subject: [PATCH] Issue #3100046 by alexpott, Wim Leers, super_romeo, quietone:
 Duplicate column name 'type'

(cherry picked from commit 38fdab6bd680ff305259af902fad22061a88f2b1)
---
 .../migrate/source/d7/FieldOptionTranslation.php      | 11 +++++++++--
 .../Migrate/d7/MigrateFieldOptionTranslationTest.php  |  3 +++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/core/modules/field/src/Plugin/migrate/source/d7/FieldOptionTranslation.php b/core/modules/field/src/Plugin/migrate/source/d7/FieldOptionTranslation.php
index 0fb577899eca..f1a90303cc38 100644
--- a/core/modules/field/src/Plugin/migrate/source/d7/FieldOptionTranslation.php
+++ b/core/modules/field/src/Plugin/migrate/source/d7/FieldOptionTranslation.php
@@ -23,9 +23,16 @@ public function query() {
       ->condition('objectid', '#allowed_values');
     // Add all i18n and locales_target fields.
     $query
-      ->fields('i18n')
+      ->fields('i18n', [
+        // All table fields except lid and type.
+        'textgroup',
+        'context',
+        'objectid',
+        'property',
+        'objectindex',
+        'format',
+      ])
       ->fields('lt');
-    $query->addField('fc', 'type');
     $query->addField('fci', 'bundle');
     $query->addField('i18n', 'lid', 'i18n_lid');
     $query->addField('i18n', 'type', 'i18n_type');
diff --git a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php
index e4b740664567..7fa7b57b5124 100644
--- a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php
+++ b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldOptionTranslationTest.php
@@ -105,6 +105,9 @@ public function testFieldOptionTranslation() {
       ],
     ];
     $this->assertSame($allowed_values, $config_translation->get('settings.allowed_values'));
+
+    // Ensure that the count query works as expected.
+    $this->assertCount(16, $this->getMigration('d7_field_option_translation')->getSourcePlugin());
   }
 
 }
-- 
GitLab