"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Drupal: Rimuovere un plugin fantasma dal database

Drupal: Rimuovere un plugin fantasma dal database

Publicado em 2024-08-21
Navegar:182

Drupal: Rimuovere un plugin fantasma dal database

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:

  • Exportando toda a configuração e reimportando-a após remover as referências do plugin
  • Atuando diretamente nas configurações presentes no banco de dados e removendo o plugin

Exportando toda a configuração e importando-a novamente

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

Atuando diretamente nas configurações presentes no banco de dados e removendo o plugin

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!

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/mcale/drupal-rimuovere-un-plugin-fantasma-dal-database-9pj?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

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