Importer les champs personnalisés de l'utilisateur avec import_scripts Ruby


J’ai créé le champ DrupalID à partir des champs utilisateur et je souhaite maintenant importer des données dans ce champ.

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),
      }

Est-ce une question est une réponse ? Dites-vous que votre code fonctionne ?

Oui, le code fonctionne, mais pas pour les champs personnalisés. Je veux aussi mettre à jour les champs personnalisés.

Recherchez dans les autres scripts d’importation « custom_field ». Je suis sûr qu’il y a des exemples ; je suis à peu près certain de l’avoir déjà fait.

1 « J'aime »

Oui, j’ai vérifié, mais nous n’avons aucun exemple de fichier JSON ni de nom de champ fourni (ce que nous devons utiliser).

J’essaie aussi d’importer avec un CSV, mais j’ai le même problème (fichiers d’exemple manquants)

Trouvez simplement n’importe quel script qui importe des champs utilisateur personnalisés et ajoutez-le à votre script

1 « J'aime »

J’ai aussi essayé custom_fields.csv depuis discourse/script/import_scripts/csv_importer.rb at main · discourse/discourse · GitHub
Nom du champ DrupalID

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

Ça ne fonctionne pas, le champ s’affiche vide

Il semble que discourse/script/import_scripts/csv_importer.rb at main · discourse/discourse · GitHub devrait fonctionner, mais vous devez définir la variable d’environnement (ENV) vue dans discourse/script/import_scripts/csv_importer.rb at main · discourse/discourse · GitHub.

1 « J'aime »