¿Puedo restaurar rachas de visitas?

Hola,

Recientemente, mi foro tuvo una inactividad prolongada de 2 días debido a problemas con nuestro dominio.

Eso provocó que las rachas de visitas de todos se rompieran, lo cual es muy malo para la mayoría de las personas.

Quiero restaurarlas, ¿cómo puedo hacerlo?

1 me gusta

Tendrías que ingeniártelas para añadir datos a las tablas para que pareciera que todo el mundo visitó en esos días. Tendrías que leer el código fuente, averiguar a qué tablas hay que añadir filas y luego crear registros en ellas para cada usuario.

Si no sabes cómo hacerlo y no obtienes una respuesta lo suficientemente rápido, puedes publicar un presupuesto en Marketplace.

2 Me gusta

Necesitan poner sus prioridades en orden :wink:

De todos modos, para copiar visitas de un día a otro necesitas ejecutar esta consulta 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'
;

donde la primera fecha es la fecha que quieres falsificar y la segunda fecha es de donde quieres copiar.

7 Me gusta

¡Richard salva el día de nuevo! Qué gran solución. Me preguntaba cómo hacerlo sin dar crédito a todos. ¡Brillante!

5 Me gusta

Te sorprendería la cantidad de gente que se quejó de ello :face_with_diagonal_mouth:

Gracias por el script, ¿dónde puedo ejecutarlo?

2 Me gusta
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 Me gusta

Oye, tuvimos otra interrupción y, cuando fui a restaurar las visitas de nuevo, tuvimos un error.

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