Migrer du contenu Xenforo spécifique

Salut la communauté Discourse,

J’ai beaucoup de contenu d’une ancienne base de données xenForo que je souhaite importer, mais il y a quelques choses que je ne veux pas faire :

Idéalement, je veux seulement importer les fils de discussion et le premier message de chaque fil, je veux aussi réattribuer le créateur du fil à un autre forum/compte utilisateur Discourse que j’ai déjà créé. est-ce possible d’une manière assez simple ?

1 « J'aime »

modifiez simplement la requête SQL dans le script d’importation

        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}" # needs OFFSET

ajoutez AND p.post_id = t.first_post_id à la clause WHERE

Changez

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

en

mapped[:user_id] = xxx

xxx est l’ID utilisateur Discourse auquel vous souhaitez attribuer les sujets.

3 « J'aime »

@RGJ merci pour la réponse rapide, pourriez-vous me montrer l’instruction SQL avec la bonne modification, j’ai essayé d’inclure AND p.post_id = t.first_post_id dans la clause where mais j’obtiens des erreurs de validation SQL sur l’instruction
oh et où est ce script d’importation ?! merci de me servir sur un plateau, j’apprécie ça

1 « J'aime »

J’ai passé des heures à essayer et je n’ai vraiment nulle part, n’y a-t-il pas de support payant avec Discourse pour ce genre de choses ?

2 « J'aime »

Vous pourriez probablement créer un sujet dans Marketplace.

1 « J'aime »

Je reçois cette erreur :

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

et dans base.rb, ligne 16, il y a ceci :

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

Aucun tutoriel d’importation/migration ne mentionne le fait que cela n’existe pas.