Posso ripristinare le serie di visite?

Ciao,

Recentemente il mio forum ha avuto un’interruzione prolungata di 2 giorni a causa di problemi con il nostro dominio.

Ciò ha causato la rottura delle serie di visite di tutti, il che è molto negativo per la maggior parte delle persone.

Sto cercando di ripristinarle, come posso fare?

Dovresti inventarti di aggiungere dati alle tabelle per far sembrare che tutti abbiano visitato in quei giorni. Dovresti leggere il codice sorgente, capire a quali tabelle aggiungere righe e poi creare record su di esse per ogni utente.

Se non sai come fare e non ottieni una risposta abbastanza velocemente, puoi pubblicare un budget su Marketplace.

Devono rimettere a posto le loro priorità :wink:

Comunque, per copiare le visite da un giorno all’altro devi eseguire questa query 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'
;

dove la prima data è la data che vuoi falsificare e la seconda data è da dove vuoi copiare.

Richard salva di nuovo la situazione! Che bella soluzione. Mi stavo chiedendo come fare senza dare credito a tutti. Brillante!

Ti stupiresti della quantità di persone che si sono lamentate :face_with_diagonal_mouth:

Grazie per lo script, dove posso eseguirlo?

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'")

Ehi, abbiamo avuto un altro disservizio e quando sono andato a ripristinare nuovamente le visite, si è verificato un errore.

[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'