Upload de .csv para alterações em massa em campos personalizados de usuário

Seria muito útil ter a capacidade de carregar um .csv (semelhante aos convites em massa) que contivesse o seguinte:

  1. nome de usuário
  2. nome do campo personalizado
  3. valor do campo personalizado

E então ter esses dados aplicados diretamente às contas dos usuários. Apenas se o nome de usuário e o nome do campo personalizado forem válidos, é claro!

Isso ajudaria enormemente em exercícios de organização de dados e migrações, que parecem ser muito complicados com campos personalizados de usuário.

1 curtida

Se for para uma importação, é fácil fazer isso no importador.

Você também pode usar a API.

É difícil imaginar uma solução de upload de CSV que seja mais fácil.

2 curtidas

Bem, meu caso de uso é para restaurar alguns campos personalizados de usuário que inadvertidamente apaguei para um monte de usuários (veja Manipulating custom user fields from the Rails console). Tenho o backup em um site de staging e também os tenho como um .csv.

Quando você diz ‘fácil’, imagino que você queira dizer que levaria algumas horas para criar algo que fizesse o trabalho. Você pode me dar uma estimativa de custo?

1 curtida

Envie-me um e-mail com os detalhes.

Jay entregou os bens:

É necessária alguma competência com Linux / Bash para usá-lo, e eu recomendo fortemente fazer um backup primeiro e fazê-lo em um momento tranquilo, pois você pode estragar completamente seus dados de usuário se não for cuidadoso. Eu o testei em um servidor de staging antes de usá-lo em nosso site de produção.

Você pode achar esta consulta do Data Explorer útil para obter os dados existentes para o user_field que você está visando:

--[params]
-- string :ucf_name = user_field_1

SELECT
    user_id, value as ":ucf_name"
    
FROM user_custom_fields

WHERE name = :ucf_name
ORDER BY user_id asc

Note que você terá que remover as aspas simples de cada lado do nome do campo no .csv, pois eu não consegui descobrir como impedir que a consulta as incluísse.

4 curtidas

Obrigado por criar este script:

Seria bom se houvesse simplesmente uma opção de upload ao criar o campo de usuário
ou um upload ao criar grupos de tags.

Você pode fazer o upload de uma imagem que mostre como os dados devem ser formatados no Excel.

Obrigado!

1 curtida
Coluna 1 Coluna 2 Coluna 3
user_id user_field_1 user_field_3
4 value hello
3 another value world
6 still another banana
2 curtidas

Obrigado!

2 curtidas