2012-01-05 10 views
11

Ho riscontrato un problema con un modulo Magento personalizzato che ho creato.Il modello personalizzato Magento non consentirà modifiche alla tabella DB

In breve, ho creato un modulo semplice per i caricamenti dei clienti sul front-end. Ho creato una nuova tabella con alcuni campi generici come "project_id", "title", ecc. Tutto bene ... Posso impostare le variabili del modello e salvarle sulla mia tabella usando model-> save() ;.

Proprio ora ho bisogno di aggiungere un nuovo campo o cambiare il nome di un vecchio campo. Per un motivo che non riesco a capire i nuovi campi e i campi modificati non verranno archiviati in tramite model-> save(); anche se posso vedere dal mio debugger che le variabili nuove e modificate nel mio modello vengono impostate correttamente. Spero che qualcuno si sia già imbattuto in questo e possa fare luce su questo problema estremamente frustrante. Il mio progetto è fermo finché non arriva l'aiuto!

risposta

20

Cancella la cache. Le classi Zend che Magento utilizza per leggere le colonne del database memorizzeranno queste informazioni in modo tale che non sia necessario eseguire una DESCRIBUZIONE per ogni modello di carico/salvataggio. Svuota la cache e Magento dovrebbe vedere le nuove colonne e i valori inizieranno a persistere nel database.

+0

Tutte le cache sono state disattivate dal inizio del progetto, ma questo funziona! È l'ultima cosa che avrei pensato di verificare da quando sono rimasti disattivati ​​durante la produzione. Perché dovrebbe succedere? –

+1

Tutte le cache di ** Magento ** sono state disabilitate. Non ho mai indagato troppo a fondo, presumo che si tratti di una sorta di memorizzazione nella cache in profondità nel framework Zend, probabilmente tramite l'oggetto del registro. Le cache di Magento che abiliti/disabiliti sono per le chiavi impostate tramite la classe di cache di Magento. Dato che le classi Zend DB fanno un po 'di cache, questo viene perso. Ricalcolo con un'altra istanza di Magento is Not Zend. –

+0

Questa risposta funziona per me. Grazie per l'aiuto! Sono sicuro che ci saranno molte altre richieste ... –

3

La disattivazione della cache nel pannello di amministrazione di Magento sembra non essere sufficiente. Dovresti eliminare il contenuto di/var/cache manualmente.

0

Run rm -rf var/cache/* dalla console, come è solito essere in grado di ottenere attraverso alla schermata Gestione amministratore della cache

Problemi correlati