Issue #3035259 by quietone: Unknown column 'lt.i18n_status' in 'field list'
parent
d97cfe6e4e
commit
7ee36015d3
|
@ -45,11 +45,21 @@ class BlockTranslation extends Block {
|
|||
'language',
|
||||
'plid',
|
||||
'plural',
|
||||
'i18n_status',
|
||||
])
|
||||
->condition('i18n_mode', 1);
|
||||
$query->leftjoin($this->blockTable, 'b', ('b.delta = i18n.objectid'));
|
||||
$query->leftjoin('locales_target', 'lt', 'lt.lid = i18n.lid');
|
||||
|
||||
// The i18n_string module adds a status column to locale_target. It was
|
||||
// originally 'status' in a later revision it was named 'i18n_status'.
|
||||
/** @var \Drupal\Core\Database\Schema $db */
|
||||
if ($this->getDatabase()->schema()->fieldExists('locales_target', 'status')) {
|
||||
$query->addField('lt', 'status', 'i18n_status');
|
||||
}
|
||||
if ($this->getDatabase()->schema()->fieldExists('locales_target', 'i18n_status')) {
|
||||
$query->addField('lt', 'i18n_status', 'i18n_status');
|
||||
}
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
|
|
|
@ -141,6 +141,13 @@ class BlockTranslationTest extends MigrateSqlSourceTestBase {
|
|||
],
|
||||
];
|
||||
|
||||
// Change the name of the locale_target i18n status field.
|
||||
$tests[1] = $tests[0];
|
||||
foreach ($tests[1]['source_data']['locales_target'] as &$lt) {
|
||||
$lt['status'] = $lt['i18n_status'];
|
||||
unset($lt['i18n_status']);
|
||||
}
|
||||
|
||||
return $tests;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@ class FieldOptionTranslation extends Field {
|
|||
'language',
|
||||
'plid',
|
||||
'plural',
|
||||
'i18n_status',
|
||||
])
|
||||
->condition('i18n.type', 'field')
|
||||
->condition('property', 'option\_%', 'LIKE')
|
||||
|
@ -39,6 +38,15 @@ class FieldOptionTranslation extends Field {
|
|||
$query->addField('cnf', 'type');
|
||||
$query->addField('i18n', 'type', 'i18n_type');
|
||||
|
||||
// The i18n_string module adds a status column to locale_target. It was
|
||||
// originally 'status' in a later revision it was named 'i18n_status'.
|
||||
/** @var \Drupal\Core\Database\Schema $db */
|
||||
if ($this->getDatabase()->schema()->fieldExists('locales_target', 'status')) {
|
||||
$query->addField('lt', 'status', 'i18n_status');
|
||||
}
|
||||
if ($this->getDatabase()->schema()->fieldExists('locales_target', 'i18n_status')) {
|
||||
$query->addField('lt', 'i18n_status');
|
||||
}
|
||||
return $query;
|
||||
}
|
||||
|
||||
|
|
|
@ -236,6 +236,14 @@ class FieldOptionTranslationTest extends MigrateSqlSourceTestBase {
|
|||
'i18n_status' => 0,
|
||||
],
|
||||
];
|
||||
|
||||
// Change the name of the locale_target i18n status field.
|
||||
$test[1] = $test[0];
|
||||
foreach ($test[1]['source_data']['locales_target'] as &$lt) {
|
||||
$lt['status'] = $lt['i18n_status'];
|
||||
unset($lt['i18n_status']);
|
||||
}
|
||||
|
||||
return $test;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue