有一个问题,最近我正在开发一个模块,其中数据库中有很多表,概念经常变化,因此需要更改数据库中的现有表,并且我注意到表创建脚本和表升级方面的差异。干得好。查看下面的创建表代码:
$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
)
);
在newtable的()的函数返回实例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类的实例更新现有表?