如何从命令行创建Drupal角色?没有名为:organizer的角色

如何从命令行创建Drupal角色?没有名为:organizer的角色,drupal,drush,Drupal,Drush,我可以从命令行创建用户并将用户添加到角色: $ drush user-create organizer1 $ drush user-add-role organizer organizer1 There is no role named: organizer 但是,我不知道如何从命令行创建角色 我发现此模块用于修改角色的perms: 但我仍然无法找到一种方法来创建drush命令应该使用的角色 drush user-add-role "power user" 5,user3 将超级用户角

我可以从命令行创建用户并将用户添加到角色:

$ drush user-create organizer1

$ drush user-add-role organizer organizer1
There is no role named: organizer
但是,我不知道如何从命令行创建角色

我发现此模块用于修改角色的perms:


但我仍然无法找到一种方法来创建drush命令应该使用的角色

drush user-add-role "power user" 5,user3  

将超级用户角色添加到具有名称、id或电子邮件5或user3的帐户中,drush命令应使用该角色

drush user-add-role "power user" 5,user3  

将超级用户角色添加到名为、id为或电子邮件5或user3的帐户中,显然这不是drush命令。我通过直接访问数据库解决了这个问题:

$ drush sql-query --db-prefix "INSERT INTO {role} (name, weight) VALUES('organizer', 3)"
test_command "sql-query --db-prefix \"INSERT INTO {role} (name, weight) VALUES('organizer', 3)\"" $?

$ drush sql-query --db-prefix "UPDATE {role} SET weight=4 WHERE (name='administrator')"

请注意,此解决方案仅适用于MySQL。

显然,没有drush命令可以做到这一点。我通过直接访问数据库解决了这个问题:

$ drush sql-query --db-prefix "INSERT INTO {role} (name, weight) VALUES('organizer', 3)"
test_command "sql-query --db-prefix \"INSERT INTO {role} (name, weight) VALUES('organizer', 3)\"" $?

$ drush sql-query --db-prefix "UPDATE {role} SET weight=4 WHERE (name='administrator')"
请注意,此解决方案仅适用于MySQL。

答案如下:

总结是:更新到最新的Drush,以便能够做到这一点。

答案如下:


小结是:更新到最新的Drush以便能够做到这一点。

这对我在D7中很有用:

drush php-eval 'user_role_save((object) array("name"=>"administrator"));'
如果还希望将新角色设置为超级管理员角色:

drush php-eval 'variable_set("user_admin_role", end(array_keys(user_roles())))'; 
之后,以下操作将创建一个新的超级管理员用户:

drush user-create Dries --mail="dries@example.com" --password="iheartjoomla"
drush user-add-role administrator Dries

这在D7中适用于我:

drush php-eval 'user_role_save((object) array("name"=>"administrator"));'
如果还希望将新角色设置为超级管理员角色:

drush php-eval 'variable_set("user_admin_role", end(array_keys(user_roles())))'; 
之后,以下操作将创建一个新的超级管理员用户:

drush user-create Dries --mail="dries@example.com" --password="iheartjoomla"
drush user-add-role administrator Dries
资料来源:


来源:

添加超级用户角色,但仅当该角色已存在时。添加超级用户角色,但仅当该角色已存在时。