Обновление данных Magento не запустится

У нас есть атрибут, который был создан в предыдущем операторе обновления, который мы хотели бы удалить. Первоначально он был создан с помощью следующего скрипта:

<?php
$installer = new Mage_Customer_Model_Entity_Setup('core_setup');

$installer->startSetup();

$vCustomerEntityType = $installer->getEntityTypeId('customer');
$vCustAttributeSetId = $installer->getDefaultAttributeSetId($vCustomerEntityType);
$vCustAttributeGroupId = $installer->getDefaultAttributeGroupId($vCustomerEntityType, $vCustAttributeSetId);

$installer->addAttribute('customer', 'custom_id', array(
'label' => 'Custom ID',
'input' => 'text',
'type'  => 'varchar',
'forms' => array('adminhtml_customer'),
'required' => 0,
'user_defined' => 1,
));

$installer->addAttributeToGroup($vCustomerEntityType, $vCustAttributeSetId, $vCustAttributeGroupId, 'custom_id', 0);

$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'custom_id');
$oAttribute->setData('used_in_forms', array('adminhtml_customer'));
$oAttribute->save();

$installer->endSetup();

Вышесказанное хорошо послужило нам, но нам больше не нужен этот custom_id. Итак, я создал следующее обновление:

<?php

$installer = new Mage_Customer_Model_Entity_Setup('core_setup');

$installer->startSetup();

$vCustomerEntityType = $installer->getEntityTypeId('customer');
$vCustomerCustomIdAttribute = $install->getAttribute($vCustomerEntityType, 'custom_id');

$installer->removeAttribute($vCustomerEntityType, $vCustomerCustomIdAttribute);

$installer->endSetup();

Я сохраняю это и считаю, что он должен просто удалить этот атрибут, но это не так. Я иду в раздел администратора, и поле и данные все еще там. Я попытался очистить кэш magento и даже зашел так далеко, что удалил его вручную, чтобы запустить его безрезультатно. Я искал, но не вижу, где моя проблема.

Также этот файл называется mysql4-upgrade-0.1.22-0.1.23.php и в настоящее время core_resource для этого показывает 0.1.22, так что это должно быть запущено. И, может быть, у меня есть еще один вопрос?

Может кто-нибудь указать мне, почему это не может быть запущено или удаление этих данных?

0

Решение

Вы можете использовать это для удаления атрибута

 $installer = $this;
$installer->removeAttribute('customer', 'attribute_code_here');
0

Другие решения

Других решений пока нет …