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

Cookie Informationen

Um unsere Webseite für Sie optimal gestalten und fortlaufend verbessern zu können, speichern wir Informationen über Ihren Besuch in sogenannten Cookies.  Durch die weitere Nutzung unserer Webseite erklären Sie sich mit der Verwendung von Cookies einverstanden. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung. An dieser Stelle können Sie auch der Verwendung von Cookies widersprechen und die Browsereinstellungen entsprechend anpassen.