我正在尝试将一些varchar字段添加到sales / order_address表中,但是遇到列定义错误。
我有以下代码:
$oInstaller->getConnection()
->addColumn(
$oInstaller->getTable('sales/order_address'),
'address_email',
array(
'nullable' => false,
'length' => 255,
'type' => Varien_Db_Ddl_Table::TYPE_VARCHAR,
'comment' => 'Company Email Address'
)
);
这将返回错误: [message:protected] => Invalid column definition data
如果我更改要使用的代码,Varien_Db_Ddl_Table::TYPE_INTEGER
则代码将运行并添加该列。我试图删除长度和可为空的属性,但无济于事。
编辑
当更新脚本时,如下更新脚本,它将起作用。有人知道导致此错误的原因吗?
$oInstaller->getConnection()
->addColumn(
$oInstaller->getTable('sales/order_address'),
'address_email',
Varien_Db_Ddl_Table::TYPE_VARCHAR . '(255)'
);
->addColumn('name', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array( 'nullable' => true, 'length' => 255, ), null)