Загрузка .csv для массового изменения пользовательских полей

Было бы очень полезно иметь возможность загружать файл .csv (по аналогии с массовой отправкой приглашений), содержащий следующие данные:

  1. имя пользователя
  2. название пользовательского поля
  3. значение пользовательского поля

А затем применять эти данные напрямую к учетным записям пользователей. Разумеется, только если имя пользователя и название пользовательского поля являются корректными!

Это значительно помогло бы в мероприятиях по упорядочиванию данных и миграции, которые, как выясняется, оказываются весьма сложными при работе с пользовательскими полями.

1 лайк

Если это для импорта, то проще всего сделать это в импортере.

Также можно использовать API.

Трудно представить решение для загрузки CSV, которое было бы проще.

2 лайка

Ну, мой случай использования — восстановление некоторых пользовательских полей, которые я по ошибке удалил у группы пользователей (см. Manipulating custom user fields from the Rails console). У меня есть резервная копия на тестовом сайте, а также эти данные в формате .csv.

Когда вы говорите «просто», я предполагаю, что вы имеете в виду, что вам потребуется несколько часов, чтобы быстро написать решение, которое выполнит задачу. Можете ли вы назвать примерную стоимость?

1 лайк

Отправьте мне письмо с подробностями.

Джей предоставил нужный инструмент:

Для его использования потребуются навыки работы с 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-файле, так как мне не удалось найти способ предотвратить их включение в результат запроса.

4 лайка

Спасибо за создание этого скрипта:

Было бы здорово, если бы при создании поля пользователя была просто опция загрузки или опция загрузки при создании групп тегов.

Можете ли вы загрузить изображение, показывающее, как должны быть отформатированы данные в Excel?

Спасибо!

1 лайк
Столбец 1 Столбец 2 Столбец 3
user_id user_field_1 user_field_3
4 значение привет
3 другое значение мир
6 ещё одно банан
2 лайка

Спасибо!

2 лайка