# Existe uma maneira de alterar em massa os 'nomes' dos usuários (nota: não nomes de usuário)

**URL:** <https://meta.discourse.org/t/is-there-a-way-to-bulk-change-user-names-note-not-usernames/132315>\
**Category:** Product Support\
**Created:** [31 Outubro , 2019 11:55 UTC](https://meta.discourse.org/t/is-there-a-way-to-bulk-change-user-names-note-not-usernames/132315 "2019-10-31T11:55:57Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [31 Outubro , 2019 16:04 UTC](https://meta.discourse.org/t/is-there-a-way-to-bulk-change-user-names-note-not-usernames/132315/4 "2019-10-31T16:04:48Z")

</div>

> [@pjv](#):
>
> Consigo escrever o SQL, mas trabalhar no console do Rails está um pouco fora da minha área de especialidade.

Sim, mas fazer isso no Rails torna muito mais difícil estragar seu banco de dados. Por exemplo, se você fizer isso com o Rails, saberá que não criou nomes de usuário ilegais (e, se alguma outra tabela precisar ser atualizada quando você modificar a que está mexendo, o Rails fará isso; o SQL não fará).

```plaintext
cd /var/discourse
./launcher enter app
rails c

```

Agora você está no Rails.

```plaintext
users=User.where("username like '%@%'")
users.each do |user|
  user.name.gsub!(/@(.*)/,"")
  puts "Novo nome: #{user.name}"
  # user.save
end

```

Acho que isso fará o que você quer. Se parecer que sim, você pode descomentar o `user.save` e tentar sua sorte.

Faça um backup primeiro, ok? (Ou, melhor ainda, em um servidor de staging.)

---

_[View the full topic](https://meta.discourse.org/t/is-there-a-way-to-bulk-change-user-names-note-not-usernames/132315)._
