لدي موضوع في قاعدة البيانات لدينا مع category_id لفئة قام شخص ما بحذفها. يمكنني فتح هذا الموضوع مباشرة باستخدام معرفه:
url: …/t/3
في جدول topics، المعرف id = 3 لديه فئة category = 4. ولكن هذه الفئة محذوفة وليست موجودة في جدول categories. تمكنت من حذف العديد من هذه الموضوعات المفقودة. لكن هذا الموضوع لا يعمل، لأن الخاصيتين closed و archived قيمتهما true.
إذا اخترت في القائمة المنبثقة “حذف بشكل دائم” لهذا الموضوع، أتلقى رسالة خطأ:
“حدث خطأ: يحتوي هذا الموضوع على مشاركات غير محذوفة. يرجى حذفها نهائيًا قبل حذف الموضوع نهائيًا.”
هل لديك أي فكرة عن كيفية إدراج فئة وهمية بالمعرف 4 في قاعدة البيانات أو حذف هذا الموضوع المفقود؟
لأن هذه الفئة ليست متاحة بشكل أكبر، ولكن ما هو الأهم: الرابط إلى جميع الفئات في الشريط الجانبي لم يعد يعمل.
إذا حاولت فتح …/categories أحصل على رسالة خطأ: “خطأ حدث خطأ ما”. وفي وحدة تحكم المتصفح تظهر رسالة الخطأ:
Uncaught TypeError: i is null
reason binary.js:7
l item.js:166
get topic.js:1017
ee upload.js:65
get topic.js:1017
get topic.js:1017
eM topic.js:1017
s backup-codes.js:33
n backup-codes.js:33
Z upload.js:65
T backup-codes.js:33
evaluate backup-codes.js:33
_execute backup-codes.js:33
execute backup-codes.js:33
rerender backup-codes.js:33
render theme-setting.js:6
_renderRoots theme-setting.js:6
tA backup-codes.js:33
_renderRoots theme-setting.js:6
_renderRootsTransaction theme-setting.js:6
_revalidate theme-setting.js:6
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_run client-error-handler.js:88
run client-error-handler.js:88
d bookmark.js:114
Ember 2
_join client-error-handler.js:88
join client-error-handler.js:88
p bookmark.js:114
h bookmark.js:114
$ topic.js:1017
trigger composer-action-title.js:62
transitionStarted add-translation.js:27
loading ace-editor.js:176
D upload.js:65
triggerEvent upload.js:65
trigger form-template-validation.js:54
_handleSlowTransition upload.js:65
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_runExpiredTimers client-error-handler.js:88
setTimeout handler*setTimeout client-error-handler.js:88
_installTimerTimeout client-error-handler.js:88
_later client-error-handler.js:88
later client-error-handler.js:88
T bookmark.js:114
_triggerAction form-template-validation.js:54
click form-template-validation.js:54
binary.js:7
Uncaught TypeError: i is null
reason binary.js:7
l item.js:166
get topic.js:1017
ee upload.js:65
get topic.js:1017
get topic.js:1017
eM topic.js:1017
s backup-codes.js:33
n backup-codes.js:33
Z upload.js:65
T backup-codes.js:33
evaluate backup-codes.js:33
_execute backup-codes.js:33
execute backup-codes.js:33
rerender backup-codes.js:33
render theme-setting.js:6
_renderRoots theme-setting.js:6
tA backup-codes.js:33
_renderRoots theme-setting.js:6
_renderRootsTransaction theme-setting.js:6
_revalidate theme-setting.js:6
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_run client-error-handler.js:88
run client-error-handler.js:88
d bookmark.js:114
success base.js:71
l loader.js:1286
fireWith loader.js:1286
jQuery 4
a base.js:71
e named-references.js:49
e named-references.js:49
A base.js:71
_findCategoriesAndTopics item.js:166
k named-references.js:49
w named-references.js:49
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_runExpiredTimers client-error-handler.js:88
setTimeout handler*setTimeout client-error-handler.js:88
_installTimerTimeout client-error-handler.js:88
_later client-error-handler.js:88
later client-error-handler.js:88
T bookmark.js:114
_triggerAction form-template-validation.js:54
click form-template-validation.js:54
TypeError: t.category_list.categories غير معرف
s form-template-validation.js:54
categoriesFrom form-template-validation.js:54
_findCategoriesAndTopics item.js:166
k named-references.js:49
w named-references.js:49
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_run client-error-handler.js:88
run client-error-handler.js:88
d bookmark.js:114
success base.js:71
l loader.js:1286
fireWith loader.js:1286
jQuery 4
a base.js:71
e named-references.js:49
e named-references.js:49
A base.js:71
_findCategoriesAndTopics item.js:166
k named-references.js:49
w named-references.js:49
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_runExpiredTimers client-error-handler.js:88
setTimeout handler*setTimeout client-error-handler.js:88
_installTimerTimeout client-error-handler.js:88
_later client-error-handler.js:88
later client-error-handler.js:88
…
Select id, closed, archived, title,category_id
from topics
where id = '3'
result:
id closed archived title category
3 true true Über die Kategorie Team 4
كان هذا أفضل تخمين لدي. إذا كانت لديك ميزانية، فقد تطلب المساعدة في Marketplace. أعتقد أنك ستحتاج إلى شخص ما للدخول إلى rails لمعرفة ما إذا كان بإمكانه حل المشكلة.
Marketplace هو خيار دائمًا، خاصة إذا كان الأمر عاجلاً.
على الرغم من أن المزيد من التفاصيل هنا قد يساعد في إثارة استجابة مجتمعية.
يبدو أن كلاكما واثق من أن السبب الجذري هو هذا الموضوع. إذا كان مستكشف البيانات يمكنه العثور عليه، فيجب أن تكون قادرًا على العثور عليه في وحدة تحكم rails. إذا كان بإمكانك العثور عليه، فيجب أن تكون قادرًا على استخدام post_destroyer عليه وحذفه من هناك؟
(على الرغم من التردد قليلاً في التوصية به لأنني لم أربط النقاط تمامًا بالمكان الذي توجد فيه المشكلة)
[اقتباس=“JammyDodger, المشاركة:8، الموضوع:367811”]
إذا كان بإمكانك العثور عليه، فيجب أن تكون قادرًا على استخدام post_destroyer عليه وحذفه من هناك؟
[/اقتباس]
كما ترون، الإيجاد ممكن. ولكن ليس لدي أي فكرة عن بناء جملة Ruby لحذف إدخال الجدول هذا تحديدًا.
هممم. من غير المعتاد أن تتمكن من العثور عليه بطريقة وليس بطريقة أخرى.
يمكن أن تكون وحدة تحكم rails سكينًا حادًا جدًا، لذا سيكون من الأفضل معرفة ما حدث بالضبط لتقليل أي حوادث/آثار لاحقة.
كيف تم حذف هذه الفئة في المقام الأول؟
(فقط في حالة عدم تسبب هذا الموضوع الشارد في حدوث المشكلة، سأضيف أساسيات التحقق من الوضع الآمن ومعرفة ما إذا كانت هناك أي معلومات إضافية حول الخطأ في صفحة YourSite/logs الخاصة بك أيضًا)
على الرغم من أنني لا أعرف ما إذا كانت بياناتك في حالة يمكن أن يساعد فيها حذف الفئة الشامل؟ Bulk delete all topics in a category
لسوء الحظ، هذا لا يحل مشكلة الخطأ في رابط الفئة. ولكن تم حل مشكلة المنشور غير القابل للحذف في الوقت الحالي. مشكلة الفئة أيضًا غير مسجلة في السجل. سأعالج هذا في الأيام القليلة القادمة.