2015-12-11 94 views
0

當我嘗試運行我的升級腳本時,它給第二個添加列上的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(); 

回答

0

鏈接正確

我一直在尋找這個發現,使用不同的書寫方法的幾個地點:

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

請查看我的新答案.. –

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' 
    )); 
相關問題