Задать пользователя в качестве администратора с помощью командной строки drush?

11

Как я могу назначить пользователю определенную роль с помощью Drush? В моем случае я хочу предоставить пользователю роль администратора.

Патоши パ ト シ
источник

Ответы:

15
drush help user-add-role
Add a role to the specified user accounts.

Examples:
 drush user-add-role "power user" 5,user3  Add the "power user" role to the accounts with name, id, or email 5 or user3, uids 2 
 --uid=2,3 --name=someguy,somegal          and 3, names someguy and somegal, and email address of billgates@microsoft.com       
 --mail=billgates@microsoft.com

Arguments:
 role                                      The name of the role to add                                                
 users                                     (optional) A comma delimited list of uids, user names, or email addresses.

Options:
 --mail=<me@example.com>                   A comma delimited list of user mail addresses of users to operate on. 
 --name=<foo>                              A comma delimited list of user names of users to operate on.          
 --uid=<3,5>                               A comma delimited list of uids of users to operate on.

Aliases: urol

Итак, для вашего случая использования:

drush user-add-role administrator USERNAME

greg_1_anderson
источник
Таты слишком просто! = P ... по крайней мере, теперь я знаю, как это сделать с помощью sql ... lol
Patoshi パ ト シ
@duckx, но это все равно, что использовать задний скребок, чтобы поцарапать переднюю часть
Патрик Райан,
0

Сначала вам нужно получить идентификатор пользователя (UID) в таблице пользователей следующим образом:

drush sqlq 'select * from users \Gamma'

Мой UID, который я хотел, был uid = 444

Затем получите идентификатор роли, которую вы хотите назначить этому пользователю, выполнив это:

drush sqlq 'select * from role'

Администратор роль избавлена ​​= 3

Теперь у меня есть uid и rid, я делаю следующее:

drush sqlq 'insert into users_roles (uid, rid) values (444, 3);'
Патоши パ ト シ
источник
1
Никогда не делай этого! Не заводите привычку манипулировать своей базой данных, в конечном итоге что-то ужасно сломается, если вы пропустите хук, который был бы вызван, если бы вы использовали правильные API. Я думаю, что этот ответ должен быть удален.