我正在使用某个模块,我必须在我的数据库中添加新列。
1)我修改了编辑表格:
$fieldset->addField("temporary", "select", array(
"label" => Mage::helper("my_helper")->__("Temporarily unavailable"),
"name" => "temporary",
'values' =>
Mage::getSingleton('adminhtml/system_config_source_yesno')->toOptionArray(),
));
2)我向网格添加新列:
$this->addColumn("temporary", array(
"header" => Mage::helper("my_helper")->__("Temporarily unavailable"),
"index" => "temporary",
"type" => "options",
"options" => Mage::getSingleton('adminhtml/system_config_source_yesno')->toArray(),
));
最后,我在config.xml
中运行我的脚本na更新扩展版本Mage::log(__FILE__ . '::start');
$installer = $this;
$installer->startSetup();
$tableName = $installer->getTable('my_extension/designer');
$installer->getConnection()
->addColumn($tableName, 'temporary', array(
'type' => Varien_Db_Ddl_Table::TYPE_BOOLEAN,
'default' => 0,
'length' => null,
'nullable' => false,
'comment' => 'temporary'
));
$installer->endSetup();
Mage::log(__FILE__ . '::end');
之后一切正常,直到,我想改变临时值"临时"。如果我检查一次"是"我无法将其改回" No"。
任何想法
答案 0 :(得分:0)
这可能是缓存问题。 您需要通过管理系统清除缓存 - >缓存管理(Flush Magento Cache和Flush Cache Storage按钮)。 Magento喜欢缓存先前的查询,因此在不清除缓存的情况下添加新字段可能会导致新列无法保存。