Hasta ahora sé que al desinstalar un módulo personalizado, es posible eliminar tablas o columnas personalizadas agregadas por un módulo personalizado mediante el uso de uninstall.php
cuáles se extienden \Magento\Framework\Setup\UninstallInterface
. Pero, ¿cómo eliminar los atributos personalizados agregados InstallData.php
al desinstalar el módulo? ¡Gracias por adelantado!
11
Respuestas:
En un módulo, usaría el siguiente código que utiliza la inyección de dependencia para la desinstalación. Funciona igualmente bien en cualquier otro lugar, solo asegúrese de inyectar EavSetupFactory en el constructor y luego utilizar sus métodos para hacer el trabajo.
Además, el uso de este método hará que el atributo eav se elimine correctamente de todas las tablas, ya que están vinculadas mediante restricciones.
Por cierto, recomiendo usar PHPStorm + xdebug. Aprenderá MUCHO sobre cómo se conectan todas estas cosas.
fuente
Customer::ENTITY
oProduct::ENTITY
etc. en lugar de1
o4
. (use Magento\Catalog\Model\Product; use Magento\Customer\Model\Customer;
)Puedes usar
\Magento\Eav\Api\AttributeRepositoryInterface::delete
para esto.fuente
use la clase Magento \ Customer \ Model \ Customer en lugar de la identificación de entidad como 1 y 2.
Feliz codificación !!
fuente