Massenhaft getaggte Topics, dann Topics in eine andere Kategorie verschoben, aber der Kategorie-Tag-Selektor zeigt keine Tags.

Es hat funktioniert, aber in dieser Kategorie ist der Tag-Selektor leer:

Der Tag erscheint bei der Suche:

Aber ich möchte, dass der Tag standardmäßig unter anderen in dieser Liste erscheint, wie hier im Meta:

Hier ist der genaue Code, den ich verwendet habe:

rake tags:bulk_tag_category["électricité",33]
TAG = Tag.find_by_name("électricité")
cat_to = Category.find_by_slug('mecanique')
Topic.joins(:topic_tags).where("topic_tags.tag_id = ?", tag.id).update_all(category_id: cat_to.id)
Category.update_stats

Gibt es eine Sidekiq-Aufgabe oder etwas anderes (vielleicht einen Rails-Befehl zum Aktualisieren einiger Statistiken), das getan werden muss, damit der Kategorie-Selektor funktioniert?

Ich betrachte den Datenbankinhalt mit data-explorer.
Die Tabelle category_tags ist bis auf zwei Tags (id 1 und 2) aus einer anderen Kategorie, die nichts mit meinem Problem zu tun haben, ziemlich leer.
Mein anderer Tag “électricité” (mit 2 anderen Tags), der zur Kategorie “Mécanique” gehört, sollte meiner Meinung nach hier vorhanden sein.

In der Tabelle category_tag_stats gibt es ebenfalls Probleme:

Die Kategorien mit den IDs 33, 32 und 34 (die hier fälschlicherweise auf /t/33, t/32 und /t/34 verlinken anstatt auf Kategorien, was ein Bug im Data Explorer zu sein scheint, da die Abfrageergebnisse in Ordnung sind) existieren nicht mehr: Ich habe sie gelöscht, nachdem ich alle ihre Themen in eine andere Kategorie verschoben hatte.
Die Kategorie mit der ID 33 war beispielsweise die Kategorie, in der ich alle Themen als “électricité” massenhaft markiert habe.
Anschließend habe ich alle diese Themen in die Kategorie mit der ID 83 verschoben.

Die Daten in diesen Tabellen sind also falsch, obwohl ich die empfohlenen Befehle zum massenhaften Markieren und Verschieben von Themen befolgt habe.
Fehlt in diesen Befehlen etwas, um diese Tabellen entsprechend zu aktualisieren?

[einen Workaround entfernt, von dem ich dachte, er würde zuerst funktionieren, aber das tat er nicht; daher habe ich dieses Problem immer noch]


Ich habe versucht, die Themen mit der Rake-Aufgabe zu verschieben

rake categories:move_topics[15,6]

anstelle des Ruby-Skripts zum Verschieben von getaggten Themen in eine andere Kategorie, aber das Problem ist dasselbe: Die Tabellen category_tags und category_tag_stats scheinen immer noch nicht richtig aktualisiert zu werden, wenn Themen verschoben werden.

Hat es sich mit der Zeit von selbst behoben, nur aus Neugier? Es gibt einen Datenbankkonsistenzjob, der alle 12 Stunden laufen sollte. Er deckt die Tabellen tags, categories und category_tag_stats ab. Es ist möglich, dass wir ein paar Bereiche nicht abdecken, die auf Konsistenz geprüft werden sollten.

Wenn es sich von selbst behoben hat und das Problem darin besteht, dass es zu lange dauert. Vielleicht können wir die relevanten Konsistenzmethoden in der Rake-Aufgabe aufrufen/sie zu relevanten Skripten im Thema Massenoperationen hinzufügen.

Ich habe den Sidekiq-Job bereits vor mehreren Tagen ausgelöst, aber das Problem wurde dadurch nicht behoben, und bis heute ist mein Tag-Selektor immer noch leer:


Bearbeiten: Ich bestätige, dass sich das Problem nach all dieser Zeit nicht von selbst behoben hat, sodass der Sidekiq-Job dieses Problem definitiv nicht behoben hat.