Spezifische Xenforo-Inhalte migrieren

Hallo Discourse-Community,

ich habe viele Inhalte aus einer alten XenForo-Datenbank, die ich importieren möchte, aber ich möchte ein paar Dinge nicht tun:

Idealerweise möchte ich nur die Threads und den ersten Beitrag jedes Threads importieren. Außerdem möchte ich den Thread-Ersteller einem anderen Discourse-Forum/Benutzerkonto zuweisen, das ich bereits erstellt habe. Ist das auf eine einfache Weise möglich?

1 „Gefällt mir“

ändere einfach das SQL im Import-Skript

        SELECT p.post_id id,
               t.thread_id topic_id,
               #{@prefix_as_category ? "t.prefix_id" : "t.node_id"} category_id,
               t.title title,
               t.first_post_id first_post_id,
               t.view_count,
               p.user_id user_id,
               p.message raw,
               p.post_date created_at
        FROM #{TABLE_PREFIX}post p,
             #{TABLE_PREFIX}thread t
        WHERE p.thread_id = t.thread_id
        AND p.message_state = 'visible'
        AND t.discussion_state = 'visible'
        ORDER BY p.post_date
        LIMIT #{BATCH_SIZE}" # benötigt OFFSET

füge AND p.post_id = t.first_post_id zur WHERE-Klausel hinzu

Ändere

mapped[:user_id] = user_id_from_imported_user_id(m["user_id"]) || -1

zu

mapped[:user_id] = xxx

wobei xxx die Discourse-Benutzer-ID ist, der du die Themen zuweisen möchtest.

3 „Gefällt mir“

@RGJ danke für die schnelle Antwort, könntest du mir nicht die SQL-Anweisung mit der richtigen Bearbeitung zeigen? Ich habe versucht, AND p.post_id = t.first_post_id in die WHERE-Klausel aufzunehmen, aber ich bekomme SQL-Validierungsfehler bei der Anweisung.

ach ja, und wo ist dieses Import-Skript?! danke fürs Löffeln, ich weiß es zu schätzen

1 „Gefällt mir“

Ich habe Stunden damit verbracht und bin wirklich nirgendwo hingekommen. Gibt es keinen bezahlten Support von Discourse für diese Art von Dingen?

2 „Gefällt mir“

Sie könnten wahrscheinlich ein Thema in Marketplace erstellen.

1 „Gefällt mir“

Ich erhalte diesen Fehler:

cannot load such file -- /var/discourse/config/environment

und in base.rb Zeile 16 steht:

require_relative "../../config/environment"

Nichts in einem Import-/Migrations-Tutorial erwähnt die Tatsache, dass dies nicht existiert.