gpt4 book ai didi

php - magento 在现有表中添加一列

转载 作者:行者123 更新时间:2023-12-05 09:19:48 44 4
gpt4 key购买 nike

我是 Magento 的新手。我想在 newsletter_subscriber 表中添加一列,所以我在 app/code 中创建了一个新文件 mysql4-upgrade-1.6.0.0-1.6.0.1.php/core/mage/newsletter_setup/

<?php
$installer = $this;
$installer->startSetup();
$installer->getConnection()->addColumn(
$this->getTable('newsletter/subscriber'), //table name
'groupid', //column name
'varchar(100) NOT NULL' //datatype definition
);

$installer->endSetup();

?>

我更新了配置文件:

<modules>
<Mage_Newsletter>
<version>1.6.0.0</version>
</Mage_Newsletter>
</modules>

不行,请指导我做错了什么

最佳答案

不建议添加/修改或更改任何核心文件。最好你制作一个新模块来添加一个额外的列。

您必须在 app/code/local/your/module/sql/your_module_setup/upgrade-0.1.2-0.1.3.php 中提及模块升级的正确版本文件。 (这意味着您将模块版本从 0.1.2 升级到 0.1.3)。如果您没有使用升级脚本,请记住定义 <resources>在模块中 config.xml安装脚本名称为 mysql4-install-0.1.0.php

以下是 Mysql 安装脚本文件 - upgrade-0.1.2-0.1.3.php

    <?php
ini_set('display_errors', '1');

$installer = $this;
$installer->startSetup();
$installer->getConnection()
->addColumn(
$installer->getTable('newsletter/subscriber'), //Get the newsletter Table
'your_field_name', //New Field Name
array(
'type' => Varien_Db_Ddl_Table::TYPE_TEXT, //Field Type like TYPE_INTEGER ...
'nullable' => true,
'length' => 255,
'default' => 'Some thing default value',
'comment' => 'Your field comment'
)
);
$installer->endSetup();
?>

然后更改 app/code/local/your/module/etc/config.xml 版本,例如

<config>
<modules>
<NameSpace_ModuleName>
<version>0.1.3</version> <!-- if upgrade script version is 0.1.3 -->
</NameSpace_ModuleName>
</modules>
<global>
<resources>
<NameSpace_ModuleName_setup>
<setup>
<module>NameSpace_ModuleName</module>
<class>Mage_Catalog_Model_Resource_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</NameSpace_ModuleName_setup>
</resources>
</global>
</config>

关于php - magento 在现有表中添加一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39686057/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com