Beim Import von mbxs erhalte ich einen Fehler, dass die übergeordnete Nachricht nicht existiert, obwohl sie scheinbar in der Datenbank, index.db, vorhanden ist.
Hier ist der Fehler:
Die übergeordnete Nachricht 9205270657.AB03850@ben.dciem.dnd.ca existiert nicht. Überspringe 9206031720.AA22567@ben.dciem.dnd.ca: A CALL FOR HELP
Vielleicht ist die Sortierreihenfolge falsch, weil Sie E-Mails nach Betreff gruppieren? Das könnte eine Untersuchung wert sein. Nachrichten werden nur nach Subject und der Reihenfolge der E-Mails in der mbox-Datei sortiert.
Sind Sie wirklich sicher, dass Sie E-Mails nach Betreff gruppieren müssen? Nach Ihrem Screenshot zu urteilen, scheinen die E-Mails korrekte Message-ID sowie In-Reply-To- und References-Header zu haben.
Danke. Wenn ich die Tabelle email_order betrachte, scheinen sie in der richtigen Reihenfolge zu sein:
msg_id
rowid
9205270657.AB03850@ben.dciem.dnd.ca
874
9206031720.AA22567@ben.dciem.dnd.ca
875
Könnte es etwas anderes geben, das den Import dieser übergeordneten Nachrichten verhindert?
Bei der ersten Importierung sah es so aus, als gäbe es keine Gruppierung. Ich denke, das Problem besteht darin, dass die Antworten an die Mailingliste und nicht an den Absender gerichtet sind. Außerdem haben einige Nachrichten diese Felder überhaupt nicht, da das Archiv über 28 Jahre hinweg manuell und ziemlich unübersichtlich mit verschiedenen Versionen von Eudora zusammengestellt wurde.
Vielleicht wird die übergeordnete Nachricht nicht importiert? Gab es einen Fehler? Es ist schwer zu sagen, warum die Nachricht nicht gefunden wird. Es tut mir leid, aber ich denke, du musst das selbst debuggen, indem du den Ruby-Code des Import-Skripts änderst.
Diese Ausgaben sehen in Ordnung aus und deuten darauf hin, dass das übergeordnete Element gemappt (importiert?) wurde.
873 / 65936 ( 1.3%) [3895 items/min]
Mapping parent 9205270657.AB03850@ben.dciem.dnd.ca A CALL FOR HELP
Mapped message 9205270657.AB03850@ben.dciem.dnd.ca A CALL FOR HELP
874 / 65936 ( 1.3%) [3900 items/min]
Parent message 9205270657.AB03850@ben.dciem.dnd.ca doesn’t exist. Skipping 9206031720.AA22567@ben.dciem.dnd.ca: A CALL FOR HELP
Ich sehe also nicht, warum das übergeordnete Element in map_reply leer ist. Das Einzige, was mir auffällt, ist, dass die Zahlen (873/874) um eins geringer sind als die rowid oben.
Aber ich glaube nicht, dass ich weiterkommen kann, da ich nicht weiß, was @lookup.topic_lookup_from_imported_post_id tut, und es ist sehr mühsam, mit vi zu bearbeiten und den Import erneut auszuführen, wobei jeder Zyklus etwa 30 Minuten dauert.
Es befindet sich in base.rb im selben Verzeichnis. Es macht genau das, was der Name der Funktion nahelegt: Es sucht nach der topic_id, indem es die import_id (die ich in diesem Fall als Nachrichten-ID annehme) in einem benutzerdefinierten Feld des Themas (oder vielleicht eines benutzerdefinierten Felds des Beitrags?) findet.
Das ist besser als die, die eine Woche dauern. (Manchmal kann man Dinge tun, damit das Import-Skript nur die Dinge importiert, die man debuggen möchte; herauszufinden, wie man das macht, bleibt dem Leser überlassen.)
Du kannst versuchen, in der Datenbank nachzuschauen und zu sehen, ob die übergeordnete Nachricht importiert wird und ob sie ein benutzerdefiniertes Feld import_id für das Thema/den Beitrag hat.
Ich habe das Data-Explorer-Plugin importiert und mir die Discourse-Datenbank angesehen. Dabei stellte ich fest, dass die import_id für die übergeordnete Nachricht in den Tabellen topic_custom_field und post_custom_field vorhanden war. Außerdem existierte die Nachricht.
Sie war jedoch gelöscht worden. Ich vermute daher, dass ich den Fehler „parent message does not exist