Migrar conteúdo específico do Xenforo

Olá comunidade Discourse,

Tenho muito conteúdo de um antigo banco de dados xenForo que quero importar, mas há algumas coisas que não quero fazer:

Idealmente, quero importar apenas os tópicos e a primeira postagem de cada tópico, também quero reatribuir o criador do tópico para um fórum/conta de usuário diferente do Discourse que já criei. Isso é possível de uma maneira fácil o suficiente?

1 curtida

apenas modifique o SQL no script de importação

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

adicione AND p.post_id = t.first_post_id à cláusula WHERE

Mude

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

para

mapped[:user_id] = xxx

onde xxx é o ID do usuário do Discourse ao qual você deseja atribuir os tópicos.

3 curtidas

@RGJ obrigado pela rápida resposta, você não poderia me mostrar a instrução SQL com a edição correta? Tentei incluir AND p.post_id = t.first_post_id na cláusula where, mas estou recebendo erros de validação SQL na instrução.
Ah, e onde está este script de importação?! obrigado por me ensinar tudo, eu aprecio isso.

1 curtida

Passei horas tentando e não cheguei a lugar nenhum, não há suporte pago com o Discourse para esse tipo de coisa?

2 curtidas

Você provavelmente poderia criar um tópico em Marketplace.

1 curtida

Estou recebendo este erro:

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

E em base.rb, linha 16, existe:

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

Nada em nenhum tutorial de importação/migração menciona o fato de que isso não existe.