web-dev-qa-db-ja.com

許可テーブルのドラッシュ変数セット

Drushを使用して匿名でaccess commentspost commentspost comments without approvalを有効にしたい。

フレッシュインストールでは、テーブルエントリは次のようになります。

INSERT INTO `permission` VALUES (2,2,'access comments, access content, post comments, post comments without approval',0);

access commentspost commentspost comments without approvalを匿名で有効にすると、次のようになります。

INSERT INTO `permission` VALUES (3,1,'access comments, post comments, post comments without approval, access content',0);
INSERT INTO `permission` VALUES (4,2,'access comments, post comments, post comments without approval, access content',0);

drush variable-set error_level "0"を使用して、エラー報告レベルを変更できます。しかし、上記の場合はどうですか?理解しにくい

1
jibotak

現在、ロールに特定の権限を付与するために実行する明示的なコマンドはありません。ドキュメントはここで非常に役立ちます- http://www.drush.org/help/5

ただし、問題を解決するために、drushを使用してネイティブSQLを実行できます

例えば.

drush sql-query "INSERT INTO permission VALUES (4,2,'access comments, post comments, post comments without approval, access content',0)"

これがサイトのインストール後に定期的に行う作業である場合は、独自のカスタムインストールプロファイル(必要なSQLまたは機能を含む)を作成するか、独自のカスタムモジュール(機能を使用して作成するなど)を作成することを検討してください。このスクリプトをCLI経由で実行する必要があるのは、最もメンテナンスしやすいソリューションではないと思います。

3
wiifm

Permissions API のDrushコマンドを使用します。

1
colan

この投稿に出会い、Drupal 7を使用している場合は、2つの選択肢があります。

1.SQLを使用して、以下を実行できます。

drush sql-query "INSERT INTO role_permission VALUES (<role id>,'<permission>','<module>')"; 

例えば.

drush sql-query "INSERT INTO role_permission VALUES (1,'access comments','comments')"

または

2. Permissions APIモジュール を使用して、以下を実行できます。

drush -u 1 perm-grant --roles="anonymous user" --permissions="access comments"
0
alexkb