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.phpcuáles se extienden \Magento\Framework\Setup\UninstallInterface. Pero, ¿cómo eliminar los atributos personalizados agregados InstallData.phpal 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::ENTITYoProduct::ENTITYetc. en lugar de1o4. (use Magento\Catalog\Model\Product; use Magento\Customer\Model\Customer;)Puedes usar
\Magento\Eav\Api\AttributeRepositoryInterface::deletepara 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