如何通过安装脚本向现有的Magento核心表添加新列?(不使用纯SQL)
我想使用Magento方法,该方法使用别名方法来创建安装脚本。
到目前为止,我只关注了一些教程。但似乎无法正常工作。Magento安装脚本中的这个StackOverflow ALTER TABLE而不使用SQL答案与我的问题有点相似。但是内容应该放在模块confg.xml
文件中吗?我是否只需要定义资源模型,模型和设置数据就足够了?
config.xml
(我的模块的)相关部分如下。
<config>
. . .
<global>
<models>
<mymodule>
<class>Mynamespace_Mymodule_Model</class>
<resourceModel>mymodule_resource</resourceModel>
</mymodule>
<mymodule_resource>
<class>Mynamespace_Mymodule_Model_Resource</class>
</mymodule_resource>
</models>
<resources>
<mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
<mymodule_read>
<connection>
<use>core_read</use>
</connection>
</mymodule_read>
<mymodule_write>
<connection>
<use>core_write</use>
</connection>
</mymodule_write>
</resources>
. . . .
</config>
我的安装脚本如下。
$installer = $this;
$installer->startSetup();
$installer->getConnection()
->addColumn($installer->getTable('sales_flat_order'),'custom_value', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
'nullable' => false,
), 'Title');
$installer->endSetup();
但我收到以下错误。
SQLSTATE [42S02]:找不到基表或视图:1146表'255.sales_flat_order'不存在
任何解决此问题的建议将不胜感激。
255
吗?