Comment puis-je réinstaller un module?

12

Je crée sur le module Drupal 8. J'ai utilisé un tableau personnalisé pour stocker les données collectées à partir des formulaires. D'une manière ou d'une autre pendant l'installation, les tables ne sont pas créées en raison d'un problème dans le fichier d'installation. Maintenant, j'ai résolu le problème et je souhaite réinstaller le module.

Comment puis-je réinstaller un module?

De cela et de ces discussions, je sais que la fonctionnalité Désactiver le module a été supprimée.

Existe-t-il un autre moyen de réinstaller un module pour que ses tables de base de données soient créées?

mohit_rocks
la source

Réponses:

17

Le module Devel peut également vous aider ici.

Il rend une page "Réinstaller les modules" disponible dans / devel / réinstallation, qui vous permet de réinstaller les modules en bloc.

Il convient également de mentionner Drush; dis(évidemment) ne fonctionne pas plus, mais pm-uninstallet enencore faire. Et si vous avez installé Devel, vous pouvez invoquer une réinstallation avec

drush dre module1 module2
Clive
la source
Notez que devel ne prend pas encore en charge les modifications de désinstallation de Drupal 8 uniquement cgit.drupalcode.org/devel/tree/drush/devel.drush.inc#n115
anavarre
1
J'ai commencé un problème pour résoudre ce problème drupal.org/node/2292425
anavarre
Je pense que toutes les réponses publiées ici sont incorrectes. La question initiale est de savoir comment "réinstaller". Ce n'est pas la même chose que comment désinstaller puis installer. Tous les scénarios ici, malheureusement, font une désinstallation, ce qui est une étape importante en arrière pour D8 car cela effacera la configuration de ce module. Je cherche toujours la bonne réponse pour savoir comment "recharger" la configuration d'installation d'un module (sans désinstaller).
liquidcms
9

Comme vous l'avez dit "La fonctionnalité Désactiver est supprimée de Drupal 8".

La réponse courte est - vous recherchez probablement l'onglet "Désinstaller" qui se trouve sur la page "Étendre" (Modules) / admin / modules / uninstall

Il n'y a plus de zone grise entre un module allumé et actif vs éteint et "purgé". "Désactivé" n'est plus une chose. Désinstaller un module signifie en supprimer toute trace.

Allez dans admin / modules / désinstaller et désinstaller le module ... Ensuite, activez le module à partir de la page de la liste des modules. Cela devrait réinstaller le module.

Par exemple ....

Avant d'installer le module Ban dans Drupal 8 ... le module ban_ip n'existe pas dans la base de données ..

entrez la description de l'image ici entrez la description de l'image ici

Après l'installation de Ban Module dans Drupal 8 ... la table ban_ip est créée et le module ne peut pas être désactivé mais peut être désinstallé dans admin / modules / uninstall

entrez la description de l'image ici entrez la description de l'image ici entrez la description de l'image ici

Maintenant, si vous désinstallez le module .. La table sera supprimée de la base de données et le module peut être réinstallé, ce qui créera des tables dans la base de données ..

entrez la description de l'image ici entrez la description de l'image ici

Anil Sagar
la source
Merci beaucoup pour cette explication géniale. J'ai vérifié la liste des modules dans l' onglet de désinstallation , mais je n'ai pas trouvé mon module. Si vous souhaitez vérifier le code ici github.com/mohit-rocks/messaging . Actuellement, vous pouvez installer des formulaires liés au module et aux paramètres.
mohit_rocks
3

Solution 1: désinstaller et réinstaller manuellement

Utilisation de l'interface utilisateur Drupal:

  • Accédez à la page Étendre du menu administrateur
  • Accédez à la page du module de désinstallation
  • Désinstallez le module que vous souhaitez
  • Accédez à nouveau à la page Étendre (où vous avez une liste de modules)
  • Installez le module que vous venez de désinstaller

Utilisation de Drush (vous devriez l'essayer si vous ne l'utilisez pas):

  • drush pm-uninstall MODULE -y && drush pm-enable MODULE -y
  • OU en bref drush pmu MODULE -y && drush en MODULE -y

Remplacez MODULE par le nom de votre module.

Solution 2: réinstaller à l'aide du module Devel

En supposant que le module de développement soit installé.

Utilisation de Drupal UI:

  • Visitez le chemin /devel/reinstall
  • Réinstallez les modules que vous souhaitez

Utilisation de Drush:

  • drush devel-reinstall MODULE -y
  • OU en bref drush dre MODULE -y

Remplacez MODULE par le nom de votre module.

Jigarius
la source
1

Si rien d'autre ne fonctionne, vous pouvez essayer ce qui suit pour Drupal 8.

  1. Supprimez les fichiers de module problématiques et son dossier

    • modules rm -rf / votre_module_problématique
  2. Supprimer les modèles de rameaux mis en cache

    • rm -rf sites / défaut / fichiers / php
  3. Vider le cache Drupal

REMARQUE: assurez-vous de sauvegarder le code et la base de données avant de procéder

Rijas Madurakuzhi
la source
1

Si vous souhaitez réinstaller (recharger) la configuration d'installation pour un module spécifique, vous pouvez utiliser cette commande drush:

drush cim --partial --source=modules/custom/MY_MODULE/config/install
liquidcms
la source