Magento模块升级修改数据库表结构

Magento支持在模块中创建、删除、更新数据库表及字段。通过该方式,在插件开发的过程中,添加和修改字段变成了一件非常轻松的事情。只需要修改模块的版本号,同时在文件中添加一个符合命名规则的脚本就可以了。

假如当前Magento模块是Ruiwant_Rewards,版本号是0.9.0,我们想在该模块中,为积分表添加一个status字段。首先第一步,我们需要将版本号修改为0.9.1。接着在模块根目录下的data/sql(根据你一直在用的目录,本例以data目录为准)中建立data-upgrade-0.9.0-0.9.1.php文件。在该文件中,添加如下代码。

$installer = $this;
 
$table = $installer->getConnection()
    ->addColumn($installer->getTable('rewards/point'), 'status', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
        'unsigned' => true,
        'nullable' => true,
    ), 'Point Status');
 
$installer->endSetup();

一切正常的话,该表会成功添加一个status字段。类似addColumn()的更多Magento封装的数据库表结构修改方法可以参考该文章或直接去源码里边看。

原文地址:https://www.cnblogs.com/xingmeng/p/4813523.html