php - 添加列脚本在 Magento 中无法正常工作

标签 php mysql magento

我在 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 中这两列不存在。 我做错了什么? 谢谢!

最佳答案

就其值(value)而言,这就是我执行安装脚本的方式:

将安装脚本放置在:

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
{
}

关于php - 添加列脚本在 Magento 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840640/

相关文章:

php - 为文章和评论提供单独的表格,还是为两者提供一个表格更好?

javascript - Laravel 使用 Ajax 从购物车中删除

php - Mysql用随机语句更新字段

magento - Magento 的价格范围

php - Symfony2 - 如何使用带有 Doctrine MongoDB ODM 的 postLoad 事件监听器来更改文档?

php - php抽象方法中的动态参数

php - 存储数据的奇怪字符编码,旧脚本显示它们很好,新脚本却没有

mysql - 为什么 COUNT() 从大表查询比 SUM() 快得多

php - Magento - 在购物车中显示自定义属性

php - Magento 数据库中是否有一个字段保存订单发货的日期?