Drushを使用してフィーチャーからコンポーネントを削除する


7

機能UIを使用して大きな機能コンポーネントを管理するのは、退屈な作業です。

したがって、使用する新しいコンポーネント追加するために

drush fe myfeature views_view:myview1

次に、不要なコンポーネント myview2 を削除する方法を教えてください。

UIからこの操作は次のように示されます。clone_of_community_contentとの競合するcommunity_contentを削除します。

景色:

ここに画像の説明を入力してください


私の答えが正しいと思われる場合は、正しい答えとしてマークしてください。
jiv-e 2016

回答:


8

機能の.infoファイルの対応する行を削除して、コンポーネントを削除します。次に実行します:

$ drush fu <feature_name>

あなたの場合:

  1. ファイルを開きます/sites/all/<features_folder>/myfeature/myfeature.info
  2. 次の行を削除します。

    features[views_view][] = myview2

  3. ファイルを保存します。

  4. $ drush fu myfeatureサイトのフォルダーで実行します。

ルールではうまくいかないようです。を削除しましたがfeatures[rules_config].rules_defaults.incファイルは削除されませんでした。
cdmo 2016年

これらのファイルも手動で削除する必要がある場合があります。
jiv-e 2016

変数/ストロングアームにこれを試しました。変数のすべてのトレースを削除しました。しかし、drush cc all; drush fu -y FEATURENAMEすべてのものに再度追加されました。
ドンキホーテ2017

2

ありませんは直接drushコマンド無効/削除コンポーネントに(Drupalの7.31&Drushバージョン6.3.0とdrush verson 7.xのためにそのようなことを聞いたことはありませんが)。コンポーネントのみを削除する場合は、機能UIを使用して削除する必要があります。

しかし、たとえばフィールドを削除したい場合は、drushでどうすればよいですか。

  1. まず、フィールドがカスタムモジュールで使用されていないことを確認してください。(必要に応じて、コードを調整する必要があります)
  2. 次に、drushにフィールドを削除するように依頼します。 drush field-delete field_website
  3. フィールドが本当に削除されたかどうかの小さなチェック: drush field-info fields | grep field_website
  4. そして、あなたのフィールドが含まれていた機能を再作成してください: drush fu myfeature
  5. gitを使用している場合は、変更がcd適切であることを確認することもできます(パスの使用方法または相対パス/絶対パスを知っていると思います)。git diff myfeature

お役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.