Sarebbe molto utile avere la possibilità di caricare un file .csv (molto simile agli inviti in blocco) che contenesse quanto segue:
nome utente
nome del campo personalizzato
valore del campo personalizzato
E quindi avere questi dati applicati direttamente agli account degli utenti. Ovviamente solo se il nome utente e il nome del campo personalizzato sono validi!
Ciò aiuterebbe enormemente negli esercizi di pulizia dei dati e nelle migrazioni, che sembrano essere piuttosto difficili con i campi personalizzati degli utenti.
Bene, il mio caso d’uso è per ripristinare alcuni campi personalizzati utente che ho inavvertitamente cancellato per un gruppo di utenti (vedi Manipulating custom user fields from the Rails console). Ho il backup su un sito di staging e li ho anche come file .csv
Quando dici “facile” immagino che ti ci vorrebbero alcune ore per creare qualcosa che faccia il lavoro. Puoi darmi una stima dei costi?
Richiede una certa competenza con Linux / Bash per poterlo utilizzare, e consiglio vivamente di fare un backup prima e di farlo in un momento tranquillo poiché potresti rovinare i tuoi dati utente se non stai attento. L’ho provato su un server di staging prima di usarlo sul nostro sito di produzione.
Potresti trovare utile questa query di Data Explorer per ottenere i dati esistenti per il user_field che stai mirando:
--[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
Nota che dovrai rimuovere gli apici da entrambi i lati del nome del campo nel .csv poiché non sono riuscito a capire come impedire alla query di includerli.
Sarebbe bello se ci fosse semplicemente un’opzione di caricamento durante la creazione del campo utente
o un caricamento durante la creazione di gruppi di tag.
Puoi caricare un’immagine che mostri come dovrebbero essere formattati i dati in Excel.