Ich habe eine Frage, kürzlich habe ich ein Modul mit vielen Tabellen in der Datenbank entwickelt, und das Konzept hat sich häufig geändert. Daher musste ich vorhandene Tabellen in der Datenbank ändern, und ich bemerkte Unterschiede bei der Erstellung von Tabellen, Skripten und der Aktualisierung von Tabellen. Bitte schön. Schauen Sie sich an, wie Sie den folgenden Tabellencode erstellen:
$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
)
);
Die Funktion newTable () gibt die Instanz von Varien_Db_Ddl_Table zurück. Wenn Sie ein Upgrade des Tabellenskripts durchführen, können Sie der vorhandenen Tabelle auf andere Weise eine neue Spalte hinzufügen.
$installer->getConnection()
->addColumn($tableName, 'test', array(
'nullable' => false,
'length' => 9,
'type' => Varien_Db_Ddl_Table::TYPE_INTEGER,
'comment' => 'Test Field'
)
)
Diese beiden addColumn-Funktionen sind unterschiedlich und auch Methoden verschiedener Klassen. Sie machen mich jedes Mal traurig, wenn ich die Syntax ändern muss. Ist
hier also die Frage, gibt es eine Möglichkeit, eine vorhandene Tabelle mit der Instanz der Varien_Db_Ddl_Table- Klasse zu aktualisieren ?