Und es geht anders. In vier einfachen Schritten ändern wir den Typen eines bestehenden Attributs - und zwar von einem varchar zu einem decimal. Die Attribute können von folgenden Typ sein: static, datetime, decimal, int, text, varchar und werden der zugehörigen Tabelle z.B. catalog_productentitydecimal gespeichert.
1. Daten des Attributs übertragen
Um die bestehenden Daten aus _varchar in die Tabelle _decimal zu übertragen reicht folgendes SQL Statement:
REPLACE catalog_product_entity_decimal (
SELECT *
FROM catalog_product_entity_varchar
WHERE attribute_id =64
)
Im Anschluss sollte die Tabelle catalog_product_entity_varchar noch von den überflüssigen Einträgen befreit werden, dazu das folgende SQL-Statement:
DELETE FROM catalog_product_entity_varchar WHERE attribute_id=64
2. Datentyp des Attributs ändern
Auch diese Änderung machen wir auf Datenbankebene, die benötigen Informationen entnehmen wir der Tabelle: eav_attribute. Dazu öffen wir den zu ändernden Eintrag und wählen unter backend_type decimal aus.
3. Cache leeren
Im Anschluss sämtliche Caches leeren als auch den Katalog Index neu aufbauen
4. Ausgabe kontrollieren
Hinweis
Wie immer bei Operationen auf Datenbankebene ist es notwendig, vor den Arbeiten ein Backup der Tabellen zu erstellen.