Até agora eu sei que, ao desinstalar um módulo personalizado, é possível remover tabelas ou colunas personalizadas adicionadas pelo módulo personalizado usando o uninstall.php
que se estende \Magento\Framework\Setup\UninstallInterface
. Mas como remover atributos personalizados adicionados InstallData.php
ao desinstalar o módulo? Desde já, obrigado!
11
Respostas:
Em um módulo, você usaria o código a seguir que utiliza injeção de dependência para desinstalação. Funciona igualmente bem em qualquer outro lugar, apenas certifique-se de injetar o EavSetupFactory no construtor e, em seguida, utilize seus métodos para fazer o trabalho.
Além disso, o uso desse método fará com que o atributo eav se remova adequadamente de todas as tabelas, pois elas são vinculadas usando restrições.
BTW, eu recomendo usar PHPStorm + xdebug. Você aprenderá muito sobre como todas essas coisas se conectam.
fonte
Customer::ENTITY
ouProduct::ENTITY
etc. em vez de1
ou4
. (use Magento\Catalog\Model\Product; use Magento\Customer\Model\Customer;
)Você pode usar
\Magento\Eav\Api\AttributeRepositoryInterface::delete
para isso.fonte
use a classe Magento \ Customer \ Model \ Customer em vez do ID da entidade como 1 e 2.
Feliz codificação !!
fonte