Eu tenho um tópico no nosso banco de dados com um category_id cuja categoria alguém excluiu. Eu posso abrir este tópico diretamente com o ID dele:
url: …/t/3
Na tabela topics, o id = 3 tem category = 4. Mas essa categoria foi excluída e não está na tabela categories. Muitos desses tópicos perdidos eu consegui excluir. Mas este não funciona, porque os atributos closed e archived são verdadeiros.
Se eu escolher no menu popup “Excluir Permanentemente” este tópico, eu recebo a mensagem de erro:
“Ocorreu um erro: Este tópico tem posts não excluídos. Por favor, exclua-os permanentemente antes de excluir o tópico permanentemente.”
Alguma ideia de como inserir uma categoria dummy com id 4 no banco de dados ou para excluir este tópico perdido?
porque esta categoria não está mais disponível, mas o que é mais importante: o link para todas as categorias na barra lateral não funciona mais.
Se eu tento abrir …/categories eu recebo a mensagem de erro: “Erro Algo deu errado.” e no console do navegador a mensagem de erro é mostrada:
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
…
Parece que alguém excluiu a categoria quando ela tinha tópicos dentro, de alguma forma? Isso não era para acontecer. Acho que você precisará fazer algo como
rails c
c=Category.last; # ou alguma outra forma de obter uma categoria)
Topic.where(category_id: 4).update_all(category_id: c.id)
Se sua categoria General foi excluída com segurança através da interface, é esperado que o tópico Sobre seja excluído logicamente como você está vendo. Isso não deve causar nenhum problema.
Acho que pode haver algo mais em jogo. Há mais detalhes sobre esse erro na sua página /logs?
Select id, closed, archived, title,category_id
from topics
where id = '3'
result:
id closed archived title category_id
3 true true Über die Kategorie Team 4
Hmm. Pensei que seu tópico quebrado tivesse category_id 4.
Essa foi a minha melhor suposição. Se você tiver um orçamento, pode pedir ajuda em Marketplace. Acho que você precisará de alguém para entrar no rails para ver se consegue descobrir.
Marketplace é sempre uma opção, especialmente se for urgente.
Embora um pouco mais de detalhe aqui possa ajudar a impulsionar uma resposta da comunidade.
Ambos parecem confiantes de que a causa raiz é este tópico. Se o explorador de dados puder encontrá-lo, você deverá ser capaz de encontrá-lo no console do rails. Se você puder encontrá-lo, deverá ser capaz de usar o post_destroyer nele e excluí-lo de lá?
(Embora um pouco hesitante em recomendar, pois ainda não conectei os pontos de onde está o problema)
Hmm. É incomum conseguir encontrá-lo de uma maneira e não de outra.
O console do Rails pode ser uma faca um tanto afiada, então seria melhor descobrir o que exatamente deu errado para minimizar quaisquer acidentes/efeitos colaterais.
Como essa categoria foi excluída em primeiro lugar?
(Apenas por precaução, caso o problema não seja causado por este tópico perdido, incluirei o básico de verificar o modo de segurança e ver se há mais informações sobre o erro em sua página YourSite/logs também)
Embora eu não saiba se seus dados estão em um estado onde o catch-all de exclusão de categoria poderia ajudar? Bulk delete all topics in a category
Infelizmente, isso não corrige o erro com o link da categoria. Mas o problema com a postagem não removível está resolvido por enquanto. O problema da categoria também não está registrado no log. Vou abordar isso nos próximos dias.