هل يمكنني استعادة سجل الزيارات؟

مرحباً،

مؤخراً واجه منتداي انقطاعاً ممتداً لمدة يومين بسبب مشاكل في نطاقنا.

هذا تسبب في كسر سلاسل زيارات الجميع، وهو أمر سيء جداً لمعظم الناس.

أنا أتطلع إلى استعادة هذه السلاسل، كيف يمكنني فعل ذلك؟

إعجاب واحد (1)

ستحتاج إلى اختلاق طريقة لإضافة بيانات إلى الجداول لتبدو وكأن الجميع زاروا في تلك الأيام. ستحتاج إلى قراءة المصدر، وتحديد الجداول التي تحتاج إلى إضافة صفوف إليها، ثم إنشاء سجلات عليها لكل مستخدم.

إذا كنت لا تعرف كيفية القيام بذلك ولم تحصل على رد بسرعة كافية، يمكنك نشر ميزانية في Marketplace.

إعجابَين (2)

يحتاجون إلى ضبط أولوياتهم ؛)

على أي حال، لنسخ الزيارات من يوم إلى آخر، تحتاج إلى تشغيل استعلام 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'
;

حيث التاريخ الأول هو التاريخ الذي تريد تزييفه والتاريخ الثاني هو التاريخ الذي تريد النسخ منه.

7 إعجابات

ريتشارد ينقذ الموقف مرة أخرى! يا لها من حلول رائعة. كنت أتساءل كيف أفعل ذلك دون إعطاء الفضل للجميع. عبقري!

5 إعجابات

ستُصدم بكمية الأشخاص الذين اشتكوا منه :face_with_diagonal_mouth:

شكراً على البرنامج النصي، أين يمكنني تشغيله؟

إعجابَين (2)
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 إعجابات

مرحباً، لقد حدث انقطاع آخر لدينا، وعندما ذهبت لاستعادة الزيارات مرة أخرى، واجهنا خطأ.

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