Migrar contenido específico de Xenforo

Hola comunidad de Discourse,

Tengo mucho contenido de una antigua base de datos de XenForo que quiero importar, pero hay algunas cosas que no quiero hacer:

Idealmente, solo quiero importar los hilos y la primera publicación de cada hilo, también quiero reasignar al creador del hilo a un foro/cuenta de usuario de Discourse diferente que ya he creado. ¿Es esto posible de una manera lo suficientemente fácil?

1 me gusta

simplemente modifica el SQL en el script de importación

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

agrega AND p.post_id = t.first_post_id a la cláusula WHERE

Cambiar

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

a

mapped[:user_id] = xxx

donde xxx es el ID de usuario de Discourse al que deseas asignar los temas.

3 Me gusta

@RGJ gracias por la rápida respuesta, ¿no podrías mostrarme la declaración SQL con la edición correcta? He intentado incluir AND p.post_id = t.first_post_id en la cláusula WHERE, pero estoy recibiendo errores de validación SQL en la declaración.

Ah, ¿y dónde está este script de importación? Gracias por dármelo todo hecho, lo aprecio.

1 me gusta

Pasé horas intentándolo y no llegué a ninguna parte, ¿no hay soporte de pago con Discourse para este tipo de cosas?

2 Me gusta

Probablemente podrías crear un tema en Marketplace.

1 me gusta

Así que estoy recibiendo este error:

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

Y en base.rb, línea 16, existe esto:

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

Nada en ningún tutorial de importación/migración menciona el hecho de que esto no exista.