当我尝试运行升级脚本时,它在第二个addcolumn上给出了Call to undefined method Varien_Db_Statement_Pdo_Mysql::addColumn()错误,但是当我删除所有其他列并仅保留一个addColumn时,它可以正常工作。我的升级脚本如下

    $installer->startSetup();

/**
 * alter table 'savecart/savecart'
 */

 $installer->getConnection()
    ->addColumn($installer->getTable('savecart/savecart'),'savecart_name', array(
        'type'      => Varien_Db_Ddl_Table::TYPE_TEXT,
        'nullable'  => true,
        'length'    => 255,
        'comment'   => 'Savecart Name'
        ))
    ->addColumn($installer->getTable('savecart/savecart'),'savecart_comment', array(
        'type'      => Varien_Db_Ddl_Table::TYPE_TEXT,
        'nullable'  => true,
        'comment'   => 'Savecart Comment'
        ))
    ->addColumn($installer->getTable('savecart/savecart'),'savecart_bill_id', array(
        'type'      => Varien_Db_Ddl_Table::TYPE_INTEGER,
        'nullable'  => true,
        'length'    => 10,
        'comment'   => 'Billing Id'
        ))
    ->addColumn($installer->getTable('savecart/savecart'),'savecart_valid_till', array(
        'type'      => Varien_Db_Ddl_Table::TYPE_DATE,
        'nullable'  => true,
        'comment'   => 'Valid Till Date'
        ));


$installer->endSetup();

最佳答案

正确地链结

我调查了一下,发现几个使用不同写作方法的网站:

http://magedevguide.com/challenge/chapter4/1

http://magento.ikantam.com/qa/how-setup-magento-scripts

请使用您的值尝试这些方法。
您可以尝试复制以下代码,但请检查它的值。

$installer->startSetup();

/**
 * alter table 'savecart/savecart'
 */

$installer->getConnection()
    ->newTable($installer->getTable('savecart/savecart'))
    ->addColumn('savecart_name', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array('nullable' => true), 'Savecart Name')
    ->addColumn('savecart_comment', Varien_Db_Ddl_Table::TYPE_TEXT, null, array('nullable' => true), 'Savecart Comment')
    ->addColumn('savecart_bill_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10, array('nullable' => true), 'Billing Id')
    ->addColumn('savecart_valid_till', Varien_Db_Ddl_Table::TYPE_DATE, null, array('nullable'  => true), 'Valid Till Date');

$installer->endSetup();


请让我知道其中一种解决方案是否有效,以便我更新我的答案。

10-07 19:24