Импорт пользовательских полей пользователя с помощью import_scripts Ruby


Я создал поле DrupalID из полей пользователя, и теперь я хочу импортировать данные в него.

create_users(@users_json) do |u|
      {
#        id: u["uid"],
#        name: u["name"],
#        email: u["mail"],#
#       custom_fields: {
#          '1':u["uid"],
#          'DrupalID':u["uid"]
#        },


        id: 2037,
        name: "Test 7",
        email: "test7@gmail.com",
        custom_fields: {
          '1':'test',
          'DrupalID':"test"
        },

        created_at: Time.zone.at(u["created"].to_i),
      }

Это вопрос или ответ? Вы хотите сказать, что ваш код работает?

Да, код работает, но не для пользовательских полей. Я хочу обновить также и пользовательские поля.

Поиск других скриптов импорта на предмет “custom_field”. Я уверен, что там есть примеры; я вполне уверен, что делал это раньше.

Да, я проверил, но у нас нет предоставленного примера JSON-файла и имени поля (что нам нужно использовать).

Также я пытаюсь импортировать через CSV, но сталкиваюсь с той же проблемой (отсутствуют файлы примеров)

Просто найдите любой скрипт, который импортирует пользовательские поля, и добавьте его в свой скрипт.

Я также попробовал файл custom_fields.csv из discourse/script/import_scripts/csv_importer.rb at main · discourse/discourse · GitHub
Имя поля DrupalID

id,user_field_1,DrupalID,Drupal ID,custom_field_DrupalID,drupalid
23456,John,John,Doe,example,johndoe
23457,Jane,Jane,Smith,example1,janesmith

Это не работает, поле отображается пустым.

Похоже, что discourse/script/import_scripts/csv_importer.rb at main · discourse/discourse · GitHub должно работать, но вам нужно определить переменные окружения (ENV), указанные в discourse/script/import_scripts/csv_importer.rb at main · discourse/discourse · GitHub.