PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Nicolas Lœuillet : Magento ne veut pas stocker une donnée dans un champ créé récemment

jeudi 12 juin 2014 à 21:52

Magento met en cache plein de choses. J'ai découvert aujourd'hui que même les structures de tables étaient mises en cache.
Sûrement bien pour les perfs, mais pas pratique tout le temps.

Aujourd'hui, j'ai ajouté un champ dans une table, par le biais d'un setup. En local, aucun souci, le champ est ajouté, les insertions s'effectuent sans problème.

Voici mon setup.

$installer = $this;
$installer->startSetup();
$installer->run("ALTER TABLE {$installer->getTable('module/objet')} ADD nouveau_champ int(10) unsigned not null;");
$installer->endSetup();

Tout se passe bien, on balance sur la plateforme de test. Tout ce que j'envoie dans nouveau_champ reste à 0.

Je n'ai pas du chercher longtemps (et heureusement, car je n'aurais pas trouvé rapidement), un collègue ayant déjà eu le souci. Il faut vider le fameux cache. Et ça se fait comme ça dans mon setup :

$installer->getConnection()->resetDdlCache($installer->getTable('module/objet'));

Avec ça, c'est tout bon, tout s'enregistre.

Gravatar de Nicolas Lœuillet
Original post of Nicolas Lœuillet.Votez pour ce billet sur Planet Libre.