Aujourd’hui, j’ai reçu une demande inhabituelle après une migration où nous avons ignoré tous les comptes qui n’avaient jamais publié.
Un utilisateur qui n’avait jamais posté, mais qui tenait à conserver un compte, souhaitait récupérer son compte. Je lui ai indiqué qu’il pouvait simplement se réinscrire avec son ancien nom d’utilisateur, ce qu’il a fait. Mais maintenant, il souhaite que sa date d’inscription (« membre depuis ») soit modifiée pour 2011, année où il avait créé son ancien compte…
Si vous avez un accès administrateur au serveur ou à la base de données, vous pouvez modifier le paramètre created_at pour cet utilisateur dans la table Users.
Vous pouvez le faire depuis la console Rails de cette manière :
rails c
user = User.where(username: '<votre-nom-utilisateur>')
user.update(created_at: "2011-02-10 00:00:00.00000")
Vous pouvez également le faire directement dans la base de données PostgreSQL (bien que je ne le recommande pas) :
update public.users set created_at='2011-02-10 00:00:00.00000' where username = '<votre-nom-utilisateur>';
J’ai testé cela dans mon environnement local et cela a fonctionné correctement :
Soyez très prudent si vous décidez de procéder ainsi ; je vous suggère de faire une sauvegarde de la base de données avant d’entreprendre quoi que ce soit