데이터베이스에 category_id가 있는 주제가 하나 있습니다. 해당 카테고리는 누군가가 삭제한 상태입니다. 이 주제는 ID를 통해 직접 열 수 있습니다:
url: …/t/3
topics 테이블에서 id = 3인 행의 category 값은 4입니다. 하지만 이 카테고리는 삭제되어 categories 테이블에 존재하지 않습니다. 이러한 상태의 유실된 주제 중 많은 것은 삭제할 수 있었습니다. 하지만 이 주제는 closed와 archived 속성이 true로 설정되어 있어 삭제되지 않습니다.
팝업 메뉴에서 "영구 삭제"를 선택하여 이 주제를 삭제하려고 하면 다음 오류 메시지가 표시됩니다:
“오류가 발생했습니다: 이 주제에는 삭제되지 않은 게시물이 있습니다. 주제를 영구 삭제하기 전에 먼저 게시물을 영구 삭제하십시오.”
data베이스에 id가 4인 더미 카테고리를 삽입하거나 이 유실된 주제를 삭제하는 방법에 대한 아이디어가 있으신가요?
해당 카테고리가 더 이상 사용 가능하지 않기 때문인지, 아니면 더 중요한 문제가 있는 건지: 사이드바에 있는 모든 카테고리에 대한 링크가 더 이상 작동하지 않습니다.
…/categories 를 열려고 하면 "Error Something went wrong."라는 오류 메시지가 표시되고, 브라우저 콘솔에는 다음과 같은 오류 메시지가 나타납니다:
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 is undefined
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
T bookmark.js:114
_triggerAction form-template-validation.js:54
click form-template-validation.js:54
Error while processing route: discovery.categories t.category_list.categories is undefined 3069/categoriesFrom/s<@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:9:2817
categoriesFrom@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:9:2809
11341/_findCategoriesAndTopics/<@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:27:122623
k@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:441:164470
w@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:441:164363
invoke@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:202:7701
flush@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:202:6778
flush@https://forum.mydiscourse.de/assets/chunk.0144d0b7f03b4dd2b0a0.d41d8cd9.js:202:8650
... and much more
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를 사용하는 것도 항상 좋은 방법입니다, 특히 긴급한 경우라면 더더욱 그렇습니다.
다만, 여기에서 조금 더 자세한 정보를 제공하면 jimmy가 커뮤니티의 답변을 유도하는 데 도움이 될 수 있습니다.
두 분 모두 근본 원인이 이 토픽이라고 확신하고 있는 것 같습니다. 데이터 탐색기(data explorer)로 찾을 수 있다면, rails 콘솔에서도 찾을 수 있어야 합니다. 그리고 찾을 수 있다면, post_destroyer를 사용하여 거기서 삭제할 수 있지 않을까요?
(문제의 원인이 어디인지 완전히 파악하지는 못했기 때문에, 이 방법을 추천하는 데 약간 망설여집니다)