Ustawienie użytkownika jako administratora za pomocą wiersza poleceń drush?

11

Jak ustawić użytkownika do określonej roli za pośrednictwem drush? W moim przypadku chcę nadać rolę administratora użytkownikowi.

Patoshi パ ト シ
źródło

Odpowiedzi:

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

Zatem w twoim przypadku użycia:

drush user-add-role administrator USERNAME

greg_1_anderson
źródło
tats zbyt łatwe! = P ... przynajmniej teraz wiem, jak to zrobić przez sql ... lol
Patoshi シ ト シ
@duckx, ale to tak, jakby drapać się po plecach
Patrick Ryan
0

Najpierw musisz uzyskać identyfikator użytkownika (UID) w tabeli użytkowników w następujący sposób:

drush sqlq 'select * from users \Gamma'

Mój Uid chciałem uid = 444

Następnie uzyskaj identyfikator roli, który chcesz przypisać temu użytkownikowi, wykonując następujące czynności:

drush sqlq 'select * from role'

Rola administratora to rid = 3

Teraz mam swój identyfikator użytkownika i usuwam, wykonuję następujące czynności:

drush sqlq 'insert into users_roles (uid, rid) values (444, 3);'
Patoshi パ ト シ
źródło
1
Nigdy tego nie rób! Nie przyzwyczajaj się do manipulowania bazą danych, w końcu coś przerwie się okropnie, gdy pominiesz hak, który zostałby wywołany, jeśli użyjesz odpowiednich interfejsów API. Myślę, że ta odpowiedź powinna zostać usunięta.