¿Establecer un usuario como administrador a través de la línea de comando drush?

11

¿Cómo puedo configurar un usuario para un rol específico mediante drush? En mi caso, quiero asignar el rol de administrador al usuario.

Patoshi パ ト シ
fuente

Respuestas:

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

Entonces, para su caso de uso:

drush user-add-role administrator USERNAME

greg_1_anderson
fuente
tatuajes demasiado fácil! = P ... al menos ahora sé cómo hacerlo a través de sql ... lol
Patoshi パ ト シ
@duckx pero eso es como usar un rascador de espalda para rascarte la frente
Patrick Ryan
0

Primero, necesitará obtener la identificación del usuario (UID) en la tabla de usuarios de esta manera:

drush sqlq 'select * from users \Gamma'

Mi uid que quería era uid = 444

Luego obtenga el ID de rol que desea asignar a ese usuario haciendo esto:

drush sqlq 'select * from role'

El rol de administrador es rid = 3

Ahora tengo mi uid y rid, hago lo siguiente:

drush sqlq 'insert into users_roles (uid, rid) values (444, 3);'
Patoshi パ ト シ
fuente
1
¡Nunca hagas esto! No se acostumbre a manipular su base de datos, eventualmente algo se romperá horriblemente cuando salte un gancho que se habría llamado si hubiera utilizado las API correctas. Creo que esta respuesta debería ser eliminada.