مرحباً،
مؤخراً واجه منتداي انقطاعاً ممتداً لمدة يومين بسبب مشاكل في نطاقنا.
هذا تسبب في كسر سلاسل زيارات الجميع، وهو أمر سيء جداً لمعظم الناس.
أنا أتطلع إلى استعادة هذه السلاسل، كيف يمكنني فعل ذلك؟
مرحباً،
مؤخراً واجه منتداي انقطاعاً ممتداً لمدة يومين بسبب مشاكل في نطاقنا.
هذا تسبب في كسر سلاسل زيارات الجميع، وهو أمر سيء جداً لمعظم الناس.
أنا أتطلع إلى استعادة هذه السلاسل، كيف يمكنني فعل ذلك؟
ستحتاج إلى اختلاق طريقة لإضافة بيانات إلى الجداول لتبدو وكأن الجميع زاروا في تلك الأيام. ستحتاج إلى قراءة المصدر، وتحديد الجداول التي تحتاج إلى إضافة صفوف إليها، ثم إنشاء سجلات عليها لكل مستخدم.
إذا كنت لا تعرف كيفية القيام بذلك ولم تحصل على رد بسرعة كافية، يمكنك نشر ميزانية في 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'