ho una domanda, recentemente stavo sviluppando un modulo con molte tabelle in DB, e il concetto cambiava spesso, quindi era necessario cambiare le tabelle esistenti in DB e ho notato differenze nella creazione di script e aggiornamento di tabelle. Ecco qui. Guarda come creare il codice tabella di seguito:
$table = $installer->getConnection()
->newTable($installer->getTable('module/table'))
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, 9, array(
'nullable' => false,
'primary' => true,
'identity' => true,
'auto_increment' => true
)
);
la funzione newTable () restituisce l'istanza di Varien_Db_Ddl_Table E l'aggiornamento dello script della tabella utilizza un modo diverso per aggiungere una nuova colonna alla tabella esistente, dai un'occhiata:
$installer->getConnection()
->addColumn($tableName, 'test', array(
'nullable' => false,
'length' => 9,
'type' => Varien_Db_Ddl_Table::TYPE_INTEGER,
'comment' => 'Test Field'
)
)
queste due funzioni addColumn sono diverse e inoltre sono metodi di classi diverse e mi rendono triste ogni volta che devo cambiare la sintassi.
Quindi, ecco la domanda, c'è un modo per aggiornare la tabella esistente usando l'istanza della classe Varien_Db_Ddl_Table ?