Wofür ist die Tabelle s_core_engine_elements ?

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)?

 

Hi, das würde uns auch brennend interessieren. Hast Du das schon rausbekommen?

Hi! 
 

Nein leider nicht!

 

bump

 

//Nachtrag:

Ist auch bei Update via Freitextfeldmanager nicht synchron. Stammt aber nicht aus dem Plugin, sondern wird bei einer default SW Installation angelegt.

Die Tabelle wird ab 5.2 nicht mehr genutzt. Früher wurden darin die Freitextfelder gespeichert

1 Like

Aus engine\Shopware\Models\Article\Element.php

 

/**
 * @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
 */

Hi,

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)

2 Likes