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 ?

1 « J'aime »

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.

2 « J'aime »

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.

7 « J'aime »

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

5 « J'aime »

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 ?

2 « J'aime »
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'")
4 « J'aime »

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'