Неправильное исключение идентификатора объекта в сценарии установки

magento.stackexchange https://magento.stackexchange.com/questions/2892

  •  16-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь запустить этот сценарий установки, но я получаю исключение Wrong entity ID. Анкет Попробовал отладка через отладчика, но я не очень знаком с архитектурой Magento EAV, поэтому потерялся.

Вот часть моего config.xml

<resources>
    <namespace_mymodule_setup>
        <setup>
            <module>Namespace_Mymodule</module>
            <class>Namespace_Mymodule_Model_Resource_Eav_Mysql4_Setup</class>
        </setup>
        <connection>
            <use>core_setup</use>
        </connection>
    </namespace_mymodule_setup>
    <namespace_mymodule_write>
        <connection>
            <use>core_write</use>
        </connection>
    </namespace_mymodule_write>
    <namespace_mymodule_read>
        <connection>
            <use>core_read</use>
        </connection>
    </namespace_mymodule_read>
</resources>

Я определил класс, расширив его от Mage_Eav_Model_Entity_Setup

class Namespace_Mymodule_Model_Resource_Eav_Mysql4_Setup extends Mage_Eav_Model_Entity_Setup {

}

И, наконец, мое содержимое сценария установки:

<?php

$installer = $this;

$installer->startSetup();

$installer->addAttribute( 'quote_payment', 'b_transaction_id', array() );
$installer->addAttribute( 'order_payment', 'b_transaction_id', array() );
$installer->addAttribute( 'invoice', 'b_transaction_id', array() );
$installer->addAttribute( 'creditmemo', 'b_transaction_id', array() );

$installer->endSetup();

О чем ошибка? И это вероятно, что этот сценарий успешно успешно прошел из другого модуля (этот переписывается), но я не уверен, есть ли он, тогда как это проверить?

Это было полезно?

Решение

Весь EAV вокруг MAGE_SALES больше нет. Чтобы добавить новые атрибуты «eav-way», вы должны использовать класс настройки продаж, который берет на себя план с плоской таблицей.

Попробуйте изменить класс настройки на Mage_Sales_Model_Resource_Setup

Какая версия Magento вы используете?

Другие советы

Люди получают эту ошибку в Magento2:

Похоже, что это проблема с заказом зависимости во время настройки: обновление с помощью пользовательских атрибутов. В поставщике/модулевом/и т. Д./Module.xml обязательно включите тег последовательности для каждого из модулей, от которых зависят ваши атрибуты. Если вы добавляете атрибуты в продукты в вашем файле Setup/InstallData.php, вам необходимо включить:

<sequence>
    <module name="Magento_Catalog" />
</sequence>

Между декларацией вашего модуля

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top