Puis-je restaurer les séries de visites ?

Bonjour,

Récemment, mon forum a connu une panne prolongée de 2 jours en raison de problèmes avec notre domaine.

Cela a entraîné la rupture des séries de visites de tout le monde, ce qui est très préjudiciable pour la plupart des gens.

Je cherche à restaurer ces séries, comment puis-je faire ?

Il faudrait trouver un moyen d’ajouter des données aux tables pour donner l’impression que tout le monde a visité ces jours-là. Il faudrait lire la source, déterminer quelles tables doivent avoir des lignes ajoutées, puis y créer des enregistrements pour chaque utilisateur.

Si vous ne savez pas comment faire et que vous n’obtenez pas de réponse assez rapidement, vous pouvez poster un budget dans Marketplace.

Ils doivent mettre leurs priorités en ordre :wink:

Sinon, pour copier les visites d’un jour à l’autre, vous devez exécuter cette requête SQL

insert into user_visits
  select 0, user_id, '2022-09-09', posts_read, mobile, 0 
  from user_visits 
  where visited_at = '2022-09-08'
;

où la première date est la date que vous voulez simuler et la seconde date est celle dont vous voulez copier.

Richard sauve encore la situation ! Quelle excellente solution. Je me demandais comment faire sans simplement accorder du crédit à tout le monde. Brillant !

Vous seriez choqué par le nombre de personnes qui s’en sont plaintes :face_with_diagonal_mouth:

Merci pour le script, où puis-je l’exécuter ?

cd /var/discourse
./launcher enter app
rails c
DB.exec("insert into user_visits select 0, user_id, '2022-09-09', posts_read, mobile, 0 from user_visits where visited_at = '2022-09-08'")

Salut, nous avons eu une autre panne et lorsque je suis allé restaurer les visites à nouveau, j’ai eu une erreur.

[6] pry(main)> DB.exec("insert into user_visits select 4, user_id, '2022-12-31', posts_read, mobile, 0 from user_visits where visited_at = '2022-09-01'")
PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "user_visits_pkey"
DETAIL:  Key (id)=(4) already exists.

from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'