مرحباً بالجميع، لدي مشكلة غريبة تتعلق بإحدى المنتديات التي أديرها.
أثناء الترقية، في صفحة الإدارة/الترقية أو عبر الطرفية، فشلت العملية وظهرت لي هذه الرسالة:
--------------------------------------------------------------------------------
فشل ترحيل 1!
فشل ترحيل الافتراضي
#<ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_screened_ip_addresses_on_ip_address"
DETAIL: Key (ip_address)=(10.0.0.0/8) already exists.
لحسن الحظ، لم يتعطل المنتدى، حيث استخدمت أمر ./launcher restart app (لقد أنقذني الأمر ./launcher destroy app / ./launcher start app مرة سابقة عندما واجهت صفحة بيضاء بعد إعادة التشغيل)، لذا لا يوجد طارئ على الإطلاق، ولهذا السبب أبحث عن إرشادات.
قررت فحص قاعدة البيانات، وهناك بعض الإشارات إلى عنوان IP 10.0.0.0/8 تبدو وكأنها سجلات، لكن في جدول screened_ip_addresses، لا أرى أي تكرار.
--
-- TOC entry 6829 (class 0 OID 382198)
-- Dependencies: 657
-- Data for Name: screened_ip_addresses; Type: TABLE DATA; Schema: public; Owner: -
--
COPY public.screened_ip_addresses (id, ip_address, action_type, match_count, last_match_at, created_at, updated_at) FROM stdin;
236 10.0.0.0/8 2 0 \N 2020-05-24 19:44:41.587257 2020-05-24 19:44:41.587257
237 192.168.0.0/16 2 0 \N 2020-05-24 19:44:47.150337 2020-05-24 19:44:47.150337
239 172.16.0.0/12 2 0 \N 2020-05-24 19:44:57.347656 2020-05-24 19:44:57.347656
240 fc00::/7 2 0 \N 2020-05-24 19:45:02.270948 2020-05-24 19:45:02.270948
261 154.71.107.147 1 0 \N 2020-06-05 13:15:17.718236 2020-06-07 00:27:57.204765
257 154.126.107.81 1 0 \N 2020-06-02 09:51:31.191431 2020-06-07 00:27:58.538628
259 197.1.186.242 1 0 \N 2020-06-05 08:39:52.218198 2020-06-07 00:27:58.985867
258 89.158.72.7 1 0 \N 2020-06-02 20:44:41.584317 2020-06-07 00:27:59.542337
260 196.179.229.13 1 0 \N 2020-06-05 08:39:52.227515 2020-06-07 00:28:00.288445
238 127.0.0.0/8 2 0 \N 2020-05-24 19:44:52.369958 2020-05-24 19:44:52.369958
أخبرني مدير المنتدى أنه قام بتنظيف بعض عناوين IP في صفحة /admin/logs/screened_ip_addresses وأضاف أخرى. لكنني أشك في أنه لمس هذا العنوان بالتحديد. الشيء الغريب هو أن النظام يشير إلى أن العنوان تمت إضافته قبل 14 يوماً (كان ذلك آخر مرة قمت فيها بالترقية، وكان على الأرجح ترقية PostgreSQL) رغم أن المنتدى يعود لعام 2015. وفي المنتديات الأخرى، يتم التحقق من تاريخ الإنشاء.
لذا أعتقد أن الجدول يعاني من بعض الاضطراب، لكنه لا يبدو كذلك حقاً.
لا أريد المخاطرة كثيراً، خاصة أنني ضعيف في SQL. لذا أبحث عن إرشادات حول الإجراء الذي يجب اتباعه للتأكد من إمكانية الترقية بأمان ![]()
هل يجب أن أنظف صفحة /admin/logs/screened_ip_addresses، أو أحاول حذف الإدخالات لهذا الجدول أو لجدول آخر؟
