Є одне питання, нещодавно я розробляв один модуль з великою кількістю таблиць в БД, і концепція часто змінювалася, тому потрібно було змінювати існуючі таблиці в БД, і я помітив різницю в створенні таблиць та оновлення таблиць. Ось ви йдете. Подивіться на створення коду таблиці нижче:
$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
)
);
Новая_табліца () екземпляр функція повертає з Varien_Db_Ddl_Table і модернізація столу сценарію використовує інший спосіб , щоб додати новий стовпець в існуючу таблицю, подивися:
$installer->getConnection()
->addColumn($tableName, 'test', array(
'nullable' => false,
'length' => 9,
'type' => Varien_Db_Ddl_Table::TYPE_INTEGER,
'comment' => 'Test Field'
)
)
ці дві функції addColumn різні, а також вони є методами різних класів, і вони сумують щоразу, коли мені потрібно змінити синтаксис.
Отже, тут питання, чи є спосіб оновити існуючу таблицю за допомогою екземпляра класу Varien_Db_Ddl_Table ?