Can't install module because configuration already exists in active configuration

Contenidos

     Es posible, que al trabajar con módulos personalizados en Drupal, hayas querido desinstalarlo y reinstalarlo para aplicar algún cambio, pero Drupal no te permite la reinstalación y, en su lugar, te presenta un error en pantalla indicando que "El módulo no puede instalarse, porque ya existe una configuración previa."

Can't install module because configuration already exists in active configuration

   Explicación

     Cuando instalamos un módulo en Drupal, se añaden varias tablas en base de datos que incluyen, el equivalente a los archivos de configuración .yml, como "core.entity_form_display.paragraph.footer_landing.default" o, como en de los campos relacionados con el contenido, ej.: "field.field.paragraph.footer_landing.fl_contents". 

     Toda la información relacionada con la configuración de los módulos, se añade dentro de la tabla config; normalmente, si desistalamos un módulo contribuido, todos los datos son elmininados en el momento de la desinstalación y podremos reinstalarlo, sin sorpresas, siempre que no tenga alguna dependencia con otros módulos o con contenidos creados previamente, utilizando dicho módulo.

     En el caso de los módulos personalizados, en la mayoría de los casos, este proceso no se ejecuta correctamente, dejando presentes los restos del módulo, dentro de la tabla config; por esta razón, al intentar reinstalarlo, Drupal no nos permite hacerlo y lanza esta alerta.

Borrar modulo en base de datos | www.drupaladicto.com - Consultor especializado en drupal y symfony

   Como eliminar restos de un módulo custom en Base de datos

     Según la página oficial de Drupal, podremos eliminar un módulo de varias maneras, ya sea mediante comandos de Drush o directamente ejecutando un par de comandos en la base de datos, de nuestra instalación; si quieres explorar y comprobar, algunas de estas opciones. HAZ CLIC AQUI

     En mi caso, tengo instalado un proyecto con Drupal 10, y el error me saltó con uno de mis módulos personalizados; ya me había sucedido anteriormente con versiones de Drupal 9, pero no lo documenté en su momento y por esta razón, he aprovechado para hacerlo.

   Pasos para eliminar un módulo custom desde base de datos en Drupal.

     Básicamente, lo que tenemos que hacer para desinstalar el módulo y todos los campos relacionados, es lo siguiente:

  1. Accederemos a nuestra base de datos, preferiblemente, utilizando algún programa con interfaz gráfica de administración. Ej: (PhpMyAdmin o Adminer).
  2. Abriremos la ventana que nos permite ejecutar consultas sobre la base de datos y añadiremos el siguiente comando, modificando los nombres.

     

    SELECT * FROM config where name='field.field.paragraph.footer_landing.fl_contents'
  3. Una vez nos aparezca el nombre del módulo o campo, podremos eliminarlo utilizando la misma interfaz de administrado de base de datos.

Borrar modulo en base de datos | www.drupaladicto.com - Consultor especializado en drupal y symfony
Categoría