我试图在我的moduloe中添加我需要的新列,但我需要在" sales_flat_order"中创建3列。表。我已经创建了php脚本,添加了sql并在我的config.xml上配置它,但是在加载我的商店后,清理我的缓存,没有任何改变,对不起,如果我遗漏了一些东西,这是我建立的第一个模块,我仍然在magento上添加新表或列的新功能。
我的模块结构如下: - local / CompanyName / Mynewmodule / sql / invoicedocs_setup / mysql4-install-010.php
$installer = $this;
$installer->startSetup();
$installer->getConnection()
->addColumn($installer->getTable('sales/order'),'magnifinance_invoice_id', array(
'type' => Varien_Db_Ddl_Table::TYPE_INTEGER,
'nullable' => true,
'length' => 10,
'after' => 'status', // column name to insert new column after
'comment' => 'Company Invoice ID'
))
->addColumn($installer->getTable('sales/order'),'magnifinance_invoice_url', array(
'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
'nullable' => true,
'length' => 255,
'after' => 'status', // column name to insert new column after
'comment' => 'Company Invoice URL Doc'
))
->addColumn($installer->getTable('sales/order'),'magnifinance_date', array(
'type' => Varien_Db_Ddl_Table::TYPE_DATETIME,
'nullable' => true,
'after' => 'status', // column name to insert new column after
'comment' => 'Company Invoice Date'
));
$installer->endSetup();
- local/CompanyName/Mynewmodule/etc/config.xml:
<config>
<global>
<models>
<magnifinance>
<class>CompanyName_Mynewmodule_Model</class>
</magnifinance>
</models>
<resources>
<invoicedocs_setup>
<setup>
<module>CompanyName_Mynewmodule</module>
<class>Mage_Catalog_Model_Resource_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</invoicedocs_setup>
<invoicedocs_write>
<connection>
<use>core_write</use>
</connection>
</invoicedocs_write>
<invoicedocs_read>
<connection>
<use>core_read</use>
</connection>
</invoicedocs_read>
</resources>
...
我错过了什么吗?
答案 0 :(得分:0)
请验证您是否在config.xml中有该部分
<modules>
<CompanyName_Mynewmodule>
<version>0.1.0</version>
</CompanyName_Mynewmodule>
</modules>
尝试将文件mysql4-install-010.php
重命名为mysql4-install-0.1.0.php
(文件名中的数字应与config.xml中的版本相同)
请在运行sql脚本之前确保表core_resource
没有行:invoicedocs_setup 0.1.0 0.1.0
。 (如果该行存在,您将无法运行该脚本。该行应在安装成功后显示)