Fonte: https://drupal.stackexchange.com/questions/315921/removing-phantom-plugin-from-database/320215#320215
Pode acontecer que ao desinstalar um módulo o procedimento não seja totalmente executado ou não haja nenhum procedimento de remoção presente, por isso o banco de dados permanece "sujo".
Normalmente, o erro causado pela remoção forçada de um plugin é este:
[error] Drupal\Component\Plugin\Exception\PluginNotFoundException: The "name-of-plugin" entity type does not exist. in Drupal\Core\Entity\EntityTypeManager->getDefinition()
Ativar a configuração que mostra todas as mensagens de erro pode ajudar você a entender onde o erro está presente e onde é necessário tomar medidas.
Você pode ativar a ativação completa do log na página admin/config/development/logging aqui. Esta configuração pode ajudá-lo a descobrir se o problema é de configuração ou se o nome do plug-in está embutido em seu código.
Agora abordaremos como resolver o problema se ele estiver vinculado a configurações e para isso temos duas formas possíveis:
Esta solução provavelmente está entre as mais usadas se você seguir a metodologia de lançamento padrão recomendada pela comunidade Drupal.
Exporte toda a configuração através da interface gráfica ou com o comando drush config:export. Nos arquivos recuperados da exportação, faça uma pesquisa de texto completo com o nome do plugin. Remova a seção de configuração que está causando o erro e importe a configuração com drush config:import
Esta solução é útil para quem, como eu, não tem a possibilidade de exportar toda a configuração e reimportá-la, mas precisa trabalhar "quente" no site.
Para descobrir quais configurações estão causando o erro, você pode executar esta consulta no banco de dados:
SELECT name FROM config WHERE data LIKE "%name-of-plugin%";
A consulta pesquisa na tabela de configuração o plug-in incorreto e retorna os nomes das configurações que invocam o plug-in.
Quando você tiver os nomes das configurações, poderá prosseguir com a remoção do plugin.
Dependendo do plugin e da configuração do erro, o método de remoção pode mudar um pouco, agora vamos levar em consideração um exemplo que também pode ser um bom ponto de partida para outros casos.
Ex.
Tive um problema com o plugin filter_image_lazy_load devido a uma atualização incorreta do Drupal 10.
A consulta anterior retornou estas configurações:
filter.format.basic_html filter.format.full_html filter.format.restricted_html
Com o serviço config.factory carreguei as configurações e verifiquei onde existe o problema. Então você pode prosseguir para remover o plugin assim:
$configName = 'filter.format.basic_html'; $config = \Drupal::service('config.factory')->getEditable($configName); $filters = $config->get('filters'); unset($filters['filter_image_lazy_load']); $config->set('filters', $filters)->save()
Você pode fazer exatamente a mesma coisa com drush config:get filter.format.basic_html e drush config:set filter.format.basic_html ou de uma só vez com drush config:edit filter.format.basic_html
Depois de limpar as configurações execute um drush cache:rebuild e o erro deverá ser resolvido!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3