Kann ich Besuch-Streaks wiederherstellen?

Hallo,

Kürzlich hatte mein Forum aufgrund von Problemen mit unserer Domain eine 2-tägige Ausfallzeit.

Dies führte dazu, dass die Besuchsserien aller unterbrochen wurden, was für die meisten Leute sehr schlecht ist.

Ich möchte diese wiederherstellen, wie kann ich das tun?

1 „Gefällt mir“

Sie müssten Daten in die Tabellen einfügen, um es so aussehen zu lassen, als ob jeder an diesen Tagen teilgenommen hätte. Sie müssten die Quelle lesen, herausfinden, zu welchen Tabellen Zeilen hinzugefügt werden müssen, und dann für jeden Benutzer Datensätze erstellen.

Wenn Sie nicht wissen, wie das geht, und nicht schnell genug eine Antwort erhalten, können Sie ein Budget in Marketplace posten.

2 „Gefällt mir“

Sie müssen ihre Prioritäten richtig setzen :wink:

Um Besuche von einem Tag auf einen anderen zu kopieren, müssen Sie die folgende SQL-Abfrage ausführen:

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

wobei das erste Datum das Datum ist, das Sie fälschen möchten, und das zweite Datum das Datum ist, von dem Sie kopieren möchten.

7 „Gefällt mir“

Richard rettet wieder einmal den Tag! Was für eine großartige Lösung. Ich habe mich gefragt, wie man das machen kann, ohne allen Anerkennung zu zollen. Genial!

5 „Gefällt mir“

Du wärst schockiert, wie viele Leute sich darüber beschwert haben :face_with_diagonal_mouth:

Danke für das Skript, wo kann ich es ausführen?

2 „Gefällt mir“
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 „Gefällt mir“

Hey, wir hatten eine weitere Störung, und als ich die Besuche wiederherstellen wollte, gab es einen Fehler.

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