调用未定义的方法Varien_Db_Statement_Pdo_Mysql :: addColumn()

问题描述:

当我尝试运行我的升级脚本时,它给第二个添加列上的Call to undefined method Varien_Db_Statement_Pdo_Mysql::addColumn()错误,但是当我删除所有其他列时,只保留一个addColumn它工作正常。我的升级脚本如下调用未定义的方法Varien_Db_Statement_Pdo_Mysql :: 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(); 

请让我知道,如果一个的解决方案正在工作,所以我可以更新我的答案。

+0

我已经更新的问题,去除半列,但没有工作,我已经与我知道第二个答案尝试,但我想知道为什么链接在此script.it工作将正常运行Magento的支持这一点。 – Zaheerabbas

+0

请查看我的新答案.. –

请使用以下升级脚本将多列添加到现有的magento表格中,以获得详细说明。 https://www.pearlbells.co.uk/upgrade-script-multiple-columns-magento/

$installer->getConnection() 
->addColumn($installer->getTable('imagedetail'),'filters_workshop_colour', 
    array(
    'type' => Varien_Db_Ddl_Table::TYPE_TEXT, 
    'nullable' => true, 
    'comment' => 'Filters Workshop Colour' 
)); 
$installer->getConnection() 
->addColumn($installer->getTable('imagedetail'),'splashbackcolor', 
    array(
    'type' => Varien_Db_Ddl_Table::TYPE_TEXT, 
    'nullable' => true, 
    'comment' => 'Splash Back Color' 
    )); 
$installer->getConnection() 
->addColumn($installer->getTable('imagedetail'),'cabinetcolor', 
    array(
    'type' => Varien_Db_Ddl_Table::TYPE_TEXT, 
    'nullable' => true, 
    'comment' => 'Cabinet Color' 
    ));