Entfernen Sie Komponenten mit Drush aus einem Feature

7

Die Verwendung der Benutzeroberfläche für Features zum Verwalten großer Feature-Komponenten ist eine mühsame Aufgabe.

Daher benutze ich , um eine neue Komponente hinzuzufügen

drush fe myfeature views_view:myview1

Wie entferne ich nun die nicht benötigte Komponente myview2?

In der Benutzeroberfläche wird dieser Vorgang wie folgt dargestellt. Ich möchte den in Konflikt stehenden Community-Inhalt mit clone_of_community_content entfernen:

Die Aussicht:

Geben Sie hier die Bildbeschreibung ein

drupal_stuff_alter
quelle
Wenn Sie der Meinung sind, dass meine Antwort richtig war, markieren Sie sie bitte als die richtige Antwort.
Jiv-E

Antworten:

8

Entfernen Sie die Komponente, indem Sie die entsprechende Zeile in der .info-Datei Ihres Features löschen. Dann renne:

$ drush fu <feature_name>

In Ihrem Fall:

  1. Öffnen Sie die Datei /sites/all/<features_folder>/myfeature/myfeature.info.
  2. Löschen Sie die folgende Zeile.

    features[views_view][] = myview2

  3. Speicher die Datei.

  4. Führen $ drush fu myfeatureSie im Ordner Ihrer Site aus.
jiv-e
quelle
es scheint nicht für Regeln zu funktionieren. Ich habe a gelöscht features[rules_config]und die .rules_defaults.incDatei nicht gelöscht .
CDMO
Möglicherweise müssen Sie diese Dateien auch manuell entfernen.
Jiv-E
Ich habe dies für Variable / Strongarm versucht. Ich habe jede Spur der Variablen entfernt. Aber bei drush cc all; drush fu -y FEATURENAMEallem wurde das Zeug wieder hinzugefügt.
Donquijote
2

Es gibt keinen direkten Drush-Befehl (Drupal 7.31 & Drush Version 6.3.0 und so etwas für Drush Verson 7.x noch nie gehört) zum Deaktivieren / Entfernen einer Komponente. Wenn Sie nur die Komponente entfernen möchten, sollten Sie dies mit der Benutzeroberfläche für Funktionen tun.

Aber wenn Sie ein Feld löschen möchten (zum Beispiel), wie ich mit drush umgehe:

  1. Stellen Sie zunächst sicher, dass Ihr Feld nicht in einem benutzerdefinierten Modul verwendet wird. (Falls erforderlich, müssen Sie Ihren Code anpassen)
  2. Dann bitten wir drush, das Feld zu löschen: drush field-delete field_website
  3. Kleine Überprüfung, ob das Feld wirklich gelöscht wurde: drush field-info fields | grep field_website
  4. Erstellen Sie einfach die Funktionen neu, in denen Ihr Feld enthalten war: drush fu myfeature
  5. Wenn Sie git verwenden, können Sie auch überprüfen, ob Ihre Änderung sinnvoll ist (ich cdgehe davon aus, dass Sie wissen, wie man einen relativen / absoluten Pfad verwendet):git diff myfeature

Hoffe das hilft.

JudaPriest
quelle