안녕하세요,
최근 도메인 문제로 인해 포럼이 2일간 장시간 접속이 중단되었습니다.
이로 인해 모든 사용자의 방문 연속 기록이 끊겨서, 대부분의 회원들에게 큰 문제가 되었습니다.
이 기록을 복구하고 싶은데, 어떻게 해야 할까요?
안녕하세요,
최근 도메인 문제로 인해 포럼이 2일간 장시간 접속이 중단되었습니다.
이로 인해 모든 사용자의 방문 연속 기록이 끊겨서, 대부분의 회원들에게 큰 문제가 되었습니다.
이 기록을 복구하고 싶은데, 어떻게 해야 할까요?
그날들마다 모든 사람이 방문한 것처럼 보이게 하려면 테이블에 데이터를 조작해서 추가해야 합니다. 소스 코드를 읽고 어떤 테이블에 행을 추가해야 하는지 파악한 후, 각 사용자에 대해 해당 테이블에 레코드를 생성해야 합니다.
이 방법을 모르고 빠르게 답변을 받지 못한다면 #marketplace에 예산을 게시할 수 있습니다.
우선순위를 제대로 잡아야 합니다 ![]()
어쨌든, 방문 기록을 하루에서 다른 하루로 복사하려면 다음 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'
;
여기서 첫 번째 날짜는 가짜로 만들려는 날짜이고, 두 번째 날짜는 복사할 원본 날짜입니다.
리처드가 또 한 번 위기를 해결했네요! 정말 훌륭한 해결책입니다. 모든 사람에게 크레딧을 부여하지 않고 어떻게 해야 할지 궁금했는데, 정말 탁월합니다!
그걸 불평한 사람들이 얼마나 많은지 보면 놀랄 거예요 ![]()
스크립트 감사합니다. 어디서 실행할 수 있나요?
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'")
안녕하세요, 또 장애가 발생했는데, 방문 기록을 다시 복원하려고 했더니 오류가 발생했습니다.
[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'