您好,
最近,由于域名出现问题,我们的论坛停机了整整两天。
这导致了所有人的访问连胜记录中断,这对大多数人来说是非常糟糕的。
我想恢复这些记录,该如何操作?
您好,
最近,由于域名出现问题,我们的论坛停机了整整两天。
这导致了所有人的访问连胜记录中断,这对大多数人来说是非常糟糕的。
我想恢复这些记录,该如何操作?
你需要设法向表中添加数据,使其看起来像是每个人都在那些日子里访问过。你需要读取源文件,找出需要添加行的表,然后为每个用户在这些表上创建记录。
如果你不知道如何操作,并且没有很快得到回复,你可以在 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'