Mir ist bei der Migration von Produkten über das SW Migrationstool aufgefallen, dass es Werte aus der Tabelle s_core_engine_elements zieht.
Diese Tabelle ist in der Grundkonfiguration synchron mit den Freitextfelder, welche angelegt wurden, wird allerdings nicht akualisiert, wenn ich neue Attribute anlege.
Deshalb die Fragen:
Wofür ist die Tabelle s_core_engine_elements da?
Wie kommen Werte da rein, wenn nicht von Hand (Abgleich mit Attribute möglich/sinnvoll)?
/**
* @deprecated since 5.2 will be removed in 5.3 use \Shopware\Models\Attribute\Configuration instead
*
* @ORM\Table(name=“s_core_engine_elements”)
* @ORM\Entity
*/
folgender “Hotfix” hat mir bei der Migration geholfen:
Profile\Shopware.php
public function getAttributeSelect()
{
// return "
// SELECT `name` as id, `label` as name
// FROM {$this->quoteTable('core_engine_elements')}
// WHERE `name` LIKE '%attr%%'
// UNION ALL
// SELECT 'ean' as id, 'EAN' as name
// ";
return "
SELECT column_name AS id, label AS name
FROM {$this->quoteTable('attribute_configuration')}
WHERE table_name='s_articles_attributes'
UNION ALL
SELECT 'ean' AS id, 'EAN' AS name
";
}
Der auskommentierte ist der ursprüngliche Code (line 141)