मैंने Magento में मैन्युअल रूप से एक टेबल गिरा दी। अब मैं चाहता हूं कि मेरा कोड उसी तालिका को फिर से बनाए। मैंने इस तरह app/code/local/namespace/my_module/sql फ़ोल्डर में निर्माण विवरण लिखा है

DROP TABLE IF EXISTS {$this->getTable('cod')};
CREATE TABLE {$this->getTable('cod')} (
    `cod_id` int(11) unsigned NOT NULL auto_increment,
    `status` smallint(6) NOT NULL default '0',
    'amount' int(11) unsigned NOT NULL,
    `created_time` datetime NULL,
    `update_time` datetime NULL,
    PRIMARY KEY (`cod_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

यह क्वेरी कैसे निष्पादित होगी ताकि यह तालिका को फिर से बना सके ...

1
user769394 11 अक्टूबर 2011, 13:15

1 उत्तर

सबसे बढ़िया उत्तर

जब आप पहली बार अपने मॉड्यूल के साथ magento चलाते हैं तो यह क्वेरी निष्पादित होती है। इसके बाद magento core_resource तालिका में पंक्ति जोड़ता है my_module_setup | 0.01 | 0.01 जिसका अर्थ है, आपका मॉड्यूल सफलतापूर्वक स्थापित किया गया था। इसलिए, टेबल को फिर से बनाने के लिए आपको my_module_setup को core_resource टेबल से हटा देना चाहिए और कोई भी मैगनेटो पेज फिर से चलाना चाहिए। कृपया ध्यान दें, संस्करण और डेटा_वर्जन कॉलम आपको मॉड्यूल के संस्करण को अद्यतित रखने देते हैं। यदि आप config.xml में मॉड्यूल के संस्करण को core_resource से उच्चतर में बदलते हैं, तो magento mysql4-upgrad-0.1.0-0.1.1.php की तलाश करेगा।

0
ASergey 11 अक्टूबर 2011, 13:45