Supprimer des composants d'une fonction à l'aide de Drush

7

L'utilisation de l'interface utilisateur des fonctionnalités pour gérer les composants d'une grande fonctionnalité est une tâche fastidieuse.

Par conséquent, pour ajouter un nouveau composant, j'utilise

drush fe myfeature views_view:myview1

Maintenant, comment supprimer le composant inédit myview2?

De l'interface utilisateur cette opération est illustrée comme ci-dessous, je veux supprimer le conflit de communauté_contenu avec clone_of_community_content:

La vue:

entrez la description de l'image ici

drupal_stuff_alter
la source
Si vous pensez que ma réponse était correcte, veuillez la marquer comme la bonne réponse.
jiv-e

Réponses:

8

Supprimez le composant en supprimant la ligne correspondante dans le fichier .info de votre fonction. Exécutez ensuite:

$ drush fu <feature_name>

Dans ton cas:

  1. Ouvrez le fichier /sites/all/<features_folder>/myfeature/myfeature.info.
  2. Supprimez la ligne suivante.

    features[views_view][] = myview2

  3. Enregistrez le fichier.

  4. Exécutez $ drush fu myfeaturedans le dossier de votre site.
swing
la source
cela ne semble pas fonctionner pour les règles. J'ai supprimé un features[rules_config]et il n'a pas supprimé le .rules_defaults.incfichier.
cdmo
Vous devrez peut-être également supprimer manuellement ces fichiers.
jiv-e
J'ai essayé ceci pour variable / strongarm. J'ai supprimé toute trace des variables. Mais sur drush cc all; drush fu -y FEATURENAMEtous les trucs a été rajouté.
donquixote
2

Il n'y a pas de commande directe de drush (Drupal 7.31 & Drush version 6.3.0 et jamais entendu une telle chose pour drush verson 7.x) pour désactiver / supprimer un composant. Si vous souhaitez uniquement supprimer le composant, vous devez le faire avec l'interface utilisateur des fonctionnalités.

Mais si vous souhaitez supprimer un champ (par exemple), voici comment je fais avec drush:

  1. Assurez-vous d'abord que votre champ n'est pas utilisé dans un module personnalisé. (Si nécessaire, vous devrez ajuster votre code)
  2. Demandons ensuite à drush de supprimer le champ: drush field-delete field_website
  3. Petite vérification si le champ a vraiment été supprimé: drush field-info fields | grep field_website
  4. Et recréez simplement les fonctionnalités où votre champ a été inclus: drush fu myfeature
  5. Si vous utilisez git, vous pouvez également vérifier que votre changement a du sens (je suppose que vous savez comment utiliser cdou chemin relativ / absolut):git diff myfeature

J'espère que cette aide.

JudaPriest
la source