मैं स्थापित स्क्रिप्ट के माध्यम से मौजूदा Magento कोर तालिका में एक नया कॉलम कैसे जोड़ सकता हूं? (शुद्ध एसक्यूएल का उपयोग किए बिना)
मैं Magento तरीके का उपयोग करना चाहता हूं जो कि स्क्रिप्ट स्थापित करने के लिए अन्य तरीकों का उपयोग कर रहा है।
अब तक मैंने कुछ ट्यूटोरियल का अनुसरण किया है। लेकिन लगता है कि ठीक से काम नहीं कर रहा है। SQL उत्तर का उपयोग किए बिना Magento सेटअप स्क्रिप्ट में यह StackOverflow ALTER टेबल कुछ हद तक मेरे प्रश्न के समान था। लेकिन क्या सामग्री को मॉड्यूल की confg.xml
फ़ाइल में रखा जाना चाहिए ? क्या मुझे संसाधन मॉडल को परिभाषित करने की आवश्यकता है, मॉडल और सेटअप डेटा पर्याप्त होगा?
config.xml
(मेरे मॉड्यूल का) प्रासंगिक भाग निम्नानुसार है।
<config>
. . .
<global>
<models>
<mymodule>
<class>Mynamespace_Mymodule_Model</class>
<resourceModel>mymodule_resource</resourceModel>
</mymodule>
<mymodule_resource>
<class>Mynamespace_Mymodule_Model_Resource</class>
</mymodule_resource>
</models>
<resources>
<mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
<mymodule_read>
<connection>
<use>core_read</use>
</connection>
</mymodule_read>
<mymodule_write>
<connection>
<use>core_write</use>
</connection>
</mymodule_write>
</resources>
. . . .
</config>
और मेरी स्थापित स्क्रिप्ट इस प्रकार है।
$installer = $this;
$installer->startSetup();
$installer->getConnection()
->addColumn($installer->getTable('sales_flat_order'),'custom_value', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
'nullable' => false,
), 'Title');
$installer->endSetup();
लेकिन मुझे निम्नलिखित त्रुटि मिल रही है।
SQLSTATE [42S02]: आधार तालिका या दृश्य नहीं मिला: 1146 तालिका '255.sales_flat_s' मौजूद है
इसे ठीक करने के किसी भी सुझाव की सराहना की जाएगी।
255
?