Geänderte Magento Tabelle übernimmt Werte nicht

Erstellt am 24. Juli 2012

Magento Datenbanktabelle ändern

magento-values-missing-in-mysql-db

Magento wird, wenn man zu einer Tabelle ein Feld hinzufügt, trotz abgeschaltetem Cache die Aufnahme von Daten in das neue Feld verweigern. Die meisten Magento-Entwickler werden diesen Umstand verzweifelt zur Kenntnis genommen haben. Verantwortlich hierfür ist die auf "true" gesetzte Variable Varien_Db_Adapter_Pdo_Mysql::_isDdlCacheAllowed.

Die Methode Varien_Db_Adapter_Pdo_Mysql::describeTable() wird die neue Tabellenstruktur nicht berücksichtigen und die alte Struktur aus dem Cache beziehen. Eine relativ simple Möglichkeit zu vermeiden, dass der Cache von Hand gelöscht werden muss, ist es folgende Zeile in das mysql4-upgrade Skript aufzunehmen.

  1. Mage::getSingleton('core/resource')
  2. ->getConnection('core_write')
  3. ->allowDdlCache()
  4. ->resetDdlCache(null,null);

Natürlich könnt Ihr aber den /var/cache Ordner einfach manuell leeren.



Kommentare

Keine Kommentare

Kommentar schreiben

* - Pflichtangabe

Zertifizierungen

  • TYPO3 Certified Integrator
  • Magento Certified Developer
  • Magento Certified Frontend Developer
Kontakt

Cookies helfen uns dabei unsere Webinhalte zu verbessern und Ihnen die bestmögliche Erfahrung zu bieten. Mit der Nutzung der Webseite akzeptieren Sie die Verwendung von Cookies.