Problemas luego de mover módulos a otros directorios

Este problema ya lo he tenido varias veces. Así que me lo voy a dejar apuntado aquí para los casos futuros que puedan surgir.

En mi caso actual estoy actualizando un Drupal 8 a Drupal 9, esa web se ha creado SIN composer (es más, no tiene ni GIT, siguen trabajando con FTP y tienen código contrib sobreescrito). Dejando de lado las malas prácticas que ha seguido el equipo que hizo esa web, el echo es que la mayoría de módulos no están organizados en los directorios modules/contrib/ y modules/custom/. Para poder actualizar y facilitarme la vida se ha optado por convertir la web a un Drupal con composer.

Al usar composer, los módulos y los themes contrib se van a guardar en sus correspondientes directorios contrib/ y eso significa que muchos de los módulos se han movido de directorio.

Al mover código de una ubicación a otra, en muchos casos es suficiente con vaciar caches desde drush:

drush cr

Pero en otros casos puede no ser bastante y es necesario vaciar las caches de las tablas manualmente con:

# Truncate cache tables in MySQL regardless of the active cache backend
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "TRUNCATE TABLE %;" | $(drush sql-connect) -v

Y ya está, simplemente has de vaciar las caches, pero no siempre es bastante con "drush cr".


Y te recuerdo que esto lo hagas siempre primero en un entorno controlado, nunca lo hagas directamente en producción sin haberlo probado antes.

¿Tienes algún proyecto en mente?

Si quieres hacer algo en Drupal tal vez puedas contratarme.

Ya sea para consultoría, desarrollo o mantenimiento de sitios web Drupal.