Было бы очень полезно иметь возможность загружать файл .csv (по аналогии с массовой отправкой приглашений), содержащий следующие данные:
имя пользователя
название пользовательского поля
значение пользовательского поля
А затем применять эти данные напрямую к учетным записям пользователей. Разумеется, только если имя пользователя и название пользовательского поля являются корректными!
Это значительно помогло бы в мероприятиях по упорядочиванию данных и миграции, которые, как выясняется, оказываются весьма сложными при работе с пользовательскими полями.
Ну, мой случай использования — восстановление некоторых пользовательских полей, которые я по ошибке удалил у группы пользователей (см. Manipulating custom user fields from the Rails console). У меня есть резервная копия на тестовом сайте, а также эти данные в формате .csv.
Когда вы говорите «просто», я предполагаю, что вы имеете в виду, что вам потребуется несколько часов, чтобы быстро написать решение, которое выполнит задачу. Можете ли вы назвать примерную стоимость?
Для его использования потребуются навыки работы с Linux и Bash. Настоятельно рекомендую сначала создать резервную копию и выполнить импорт в тихое время, так как при неосторожности можно серьёзно повредить данные пользователей. Перед применением на продакшн-сайте я протестировал его на тестовом сервере.
Вам может пригодиться следующий запрос в Data Explorer для получения существующих данных по полю user_field, которое вы нацелились обновить:
--[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
Обратите внимание: вам придётся убрать кавычки ' с обеих сторон имени поля в CSV-файле, так как мне не удалось найти способ предотвратить их включение в результат запроса.