Modifier la date d'inscription de l'utilisateur (created_at) via l'API

Bonjour, j’expérimente une migration depuis une autre plateforme vers Discourse en utilisant l’API.
J’ai de nombreux utilisateurs que je vais migrer vers Discourse.
Lorsque je crée un utilisateur, la date de création correspond à celle d’aujourd’hui.
Cependant, beaucoup d’utilisateurs sont présents sur le forum depuis plus de 10 ans, et il serait dommage de perdre cette information après la migration.

Lorsque j’essaie de mettre à jour un utilisateur via l’API, je souhaite modifier le champ created_at.

'created_at' => '2013-05-04T11:49:06.782Z'

Mais la date ne change pas. Existe-t-il une autre méthode ?

2 « J'aime »

Y a-t-il une raison de ne pas utiliser un script de migration ? Cela et bien d’autres problèmes que vous rencontrerez probablement seront résolus.

2 « J'aime »

Oh oui, nous utiliserons la migration de votre équipe dès que nous aurons un dump de base de données.

Pour l’instant, je fais des essais, car je ne connais pas encore toutes les fonctionnalités de Discourse. Sur l’ancien forum, nous avions des groupes et des rôles spécifiques. J’effectue l’importation via l’API pour les configurer dans Discourse.

Je souhaite également comprendre en détail comment travailler avec les niveaux de confiance, les groupes et les badges. Certains d’entre eux dépendent de la date d’inscription.

Aucun de ces éléments ne dépend de la date de création de l’utilisateur. :wink:

Je pense que vous pourriez être en mesure d’envoyer une valeur created_at dans une notification push ou un message.

1 « J'aime »

D’accord,
Je viens de voir les paramètres en fonction du nombre de jours, mais je ne les ai pas encore lus en détail. Je les ai simplement reportés jusqu’aux tests utilisateurs.

2 « J'aime »

Je pense que vous pourriez être en mesure d’envoyer une valeur created_at dans un push ou un post.

J’envoie une requête pour mettre à jour plusieurs champs pour le test.

    'created_at' => '2013-05-04T11:49:06.782Z',
    'user_fields' => [
        1 => '104',
        2 => 'Patron'
    ]

Dans ce cas, les user_fields sont mis à jour sans aucun problème. J’ai donc décidé de poser la question sur le forum. Peut-être que created_date est mis à jour par une autre requête, comme trust_levels, qui dispose d’une URL API spéciale.

1 « J'aime »

Vous pouvez le faire depuis la console Rails. Vous pouvez également simplement modifier leur niveau de confiance. Description des différents états d’utilisateur dans Discourse (Admin / Modérateur / Staff / Développeur / Autre) Il existe d’autres sujets dans cette catégorie.

1 « J'aime »

Merci de votre partage et de vos éclairages :ok_hand: