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?

1 Mi Piace

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.

2 Mi Piace

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.

7 Mi Piace

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

5 Mi Piace

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

Grazie per lo script, dove posso eseguirlo?

2 Mi Piace
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 Mi Piace

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'