【问题标题】:How to create a Drupal role from the command line?There is no role named: organizer如何从命令行创建 Drupal 角色?没有角色命名:组织者
【发布时间】:2012-10-18 19:02:40
【问题描述】:

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

$ drush user-create organizer1

$ drush user-add-role organizer organizer1
There is no role named: organizer

但是,我不知道如何从命令行创建角色。

我发现这个模块可以修改角色的权限:

http://drupal.org/project/drush_role

但我仍然无法找到创建角色的方法

【问题讨论】:

    标签: drupal drush


    【解决方案1】:

    应该由 drush 命令使用。

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

    将“超级用户”角色添加到名称、ID 或电子邮件 5 或 user3 的帐户

    【讨论】:

    • 添加“超级用户”角色,但前提是该角色已经存在。
    【解决方案2】:

    显然你没有 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。

    【讨论】:

      【解决方案3】:

      答案在这里:https://drupal.stackexchange.com/questions/56451/creating-a-new-user-role-with-drush

      总结是:更新到最新的 Drush 才能做到。

      【讨论】:

        【解决方案4】:

        这在 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
        

        【讨论】:

          【解决方案5】:
          drush rcrt 'test role'
          

          来源:http://drushcommands.com/drush-7x/role/role-create

          【讨论】:

            猜你喜欢
            • 2021-07-27
            • 2018-07-09
            • 2021-12-21
            • 2021-12-06
            • 2021-07-17
            • 2018-12-23
            • 2021-08-05
            • 2018-11-03
            • 2018-07-27
            相关资源
            最近更新 更多