我可以从命令行创建用户并将用户添加到角色:
$ drush user-create organizer1
$ drush user-add-role organizer organizer1
There is no role named: organizer
但是,我不知道如何从命令行创建角色。
我发现这个模块可以修改角色的权限:
http://drupal.org/project/drush_role
但我仍然无法找到创建角色的方法
我可以从命令行创建用户并将用户添加到角色:
$ drush user-create organizer1
$ drush user-add-role organizer organizer1
There is no role named: organizer
但是,我不知道如何从命令行创建角色。
我发现这个模块可以修改角色的权限:
http://drupal.org/project/drush_role
但我仍然无法找到创建角色的方法
答案在这里:https ://drupal.stackexchange.com/questions/56451/creating-a-new-user-role-with-drush
总结是:更新到最新的 Drush 就可以做到了。
显然你没有 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 user-add-role "power user" 5,user3
将“超级用户”角色添加到具有名称、ID 或电子邮件 5 或 user3 的帐户
这在 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
drush rcrt 'test role'