我在Magento sql更新表中遇到了一些麻烦。我创建扩展,我想在现有表'customer_group'中添加一些新列。
<modules>
<Module_Name>
<module>1.0.0</module>
</Module_Name>
</modules>
<global>
<models>
<module_name>
<class>Module_Name_Model</class>
<resourceModel>module_name_resource</resourceModel>
</module_name>
<module_name_resource>
<class>Module_Name_Model_Resource</class>
</module_name_resource>
</models>
<resources>
<module_name_setup>
<setup>
<module>Module_Name</module>
<class>Module_Name_Model_Resource_Setup</class>
</setup>
</module_name_setup>
</resources>
</global>
在sql / module_name_setup / mysql4-install-1.0.0.php我有这段代码:
$installer = $this;
$connection = $installer->getConnection();
$installer->startSetup();
$installer->getConnection()
->addColumn($installer->getTable('customer/customer_group'), 'column_one', array(
'TYPE' => Varien_Db_Ddl_Table::TYPE_TEXT,
'NULLABLE' => false,
'COMMENT' => 'Column One'
))
->addColumn($installer->getTable('customer/customer_group'), 'column_two', array(
'TYPE' => Varien_Db_Ddl_Table::TYPE_TEXT,
'NULLABLE' => false,
'COMMENT' => 'Column Two'
));
$installer->endSetup();
但是当我刷新Magento前端页面时,我没有在 core_resources 表中看到任何更改,并且在 customer_group 中这两列不存在。 我做错了什么? 谢谢!
答案 0 :(得分:1)
对于它的价值,我就是这样做的安装脚本:
将安装脚本放在:
Company/Module/sql/your_module_setup/install-1.0.0.0.php
在模块的etc / config.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Company_Module>
<version>1.0.0.0</version>
</Company_Module>
</modules>
<global>
<resources>
<your_module_setup>
<setup>
<module>Company_Module</module>
<class>Company_Module_Model_Resource_Setup</class>
</setup>
</your_module_setup>
</resources>
</global>
</config>
然后创建文件Company / Module / Model / Resource / Setup.php:
<?php
class Company_Module_Model_Resource_Setup extends Mage_Sales_Model_Resource_Setup
{
}
答案 1 :(得分:0)
我已经解决了这个问题。我忘了在 app / etc / Module_Name.xml 中设置版本,它应该是
<modules>
<Module_Name>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Shipping/>
</depends>
<version>1.0.0</version>
</Module_Name>
</modules>
并且 config.xml 版本也应该设置