Problemas al migrar de XenForo a Discourse

Hola, a partir del paso 7 estoy teniendo problemas. Cualquier ayuda sería muy apreciada. Nunca he trabajado con Ruby, por lo que podría haber algunos pasos obvios necesarios justo antes del paso 7 que simplemente no conozco debido a la falta de experiencia. Perdón si esta pregunta parece ingenua.

Cuando ejecuto:

Obtengo el siguiente resultado:

-bash: Gemfile: Permiso denegado

Esto es en un servidor nuevo con una instalación funcional de Discourse.

¿Hay otros componentes o piezas de software que necesito instalar para que los pasos que comienzan en el 7 funcionen?

Y noté que este hilo es originalmente de hace unos años. ¿Cada paso en la publicación original sigue siendo correcto?

¡Gracias!

Ok, había enviado una publicación completa aquí, pero la eliminé porque, al profundizar más en esto, me di cuenta de que tenía un grave malentendido sobre cómo funcionan Docker con la instalación de Discourse. Mi publicación anterior habría confundido a las personas porque, básicamente, no sabía de qué estaba hablando. :joy:

Estaba agregando los archivos de importación manualmente al directorio /var/discourse/ cuando debería haber estado buscándolos dentro de Docker. Un error claro al mirarlo ahora, pero estaba bastante confundido en ese momento. Las instrucciones podrían ser más claras, pero logré averiguarlo y resolver mi propio problema.

Logré que esta importación funcionara en un foro con más de 1 millón de publicaciones. Noté algunas cosas:

  1. Los avatares faltan. Después de revisar el script, no veo ninguna referencia a los avatares. ¿Solo para confirmar, no se importan?

  2. Las visualizaciones de los hilos son todas 0. ¿Es así como debería ser?

  3. Las publicaciones de invitados (si una cuenta de usuario había sido eliminada y su nombre de usuario marcado como “invitado” en XenForo) aparecen todas como “sistema”. ¿Existe alguna manera de que al menos todas se marquen como “invitado” en lugar de “sistema”? ¿Discourse admite publicaciones que no estén atribuidas a una cuenta registrada?

¿Existen scripts de importación que sí admitan la importación de avatares y visualizaciones de hilos? Me gustaría echarles un vistazo y ver qué tan difícil sería modificar el script xenforo.rb.

Conozco muy bien las bases de datos de vBulletin y XenForo. Solo necesito que me indiquen la dirección correcta sobre cómo se almacenan las visualizaciones de hilos y los avatares en Discourse para poder mapearlos correctamente.

Ninguna de esas cosas es sorprendente.

Generalmente uso grep en el directorio de scripts para buscar lo que necesito (Avatar). Creo que para las vistas, solo puedes agregarlo a la consulta SQL y añadir el campo al registro de creación. Para el usuario invitado, hay una línea que utiliza system si la búsqueda del usuario falla. Puedes reemplazarla con el usuario invitado que crees.

He revisado este script y no logro encontrar qué está causando que los IDs se incrementen desde 1 en lugar de coincidir exactamente con los que están en la base de datos de origen.

Me gustaría redirigir las URLs existentes y la mejor manera de hacerlo será si se mantienen los IDs en todo el sistema. IDs de usuario, IDs de publicaciones, IDs de temas, IDs de categorías, etc.

Todos están siendo “mapeados” a nuevos IDs por el script.

¿Estoy pasando por alto algo obvio que me permitiría forzar a que todos los IDs permanezcan iguales después de la importación?

Si esta pregunta está fuera del alcance de este foro, lo entiendo. ¡Gracias de todos modos por leer! :+1:

No es así. Necesitas crear enlaces permanentes (permalinks) para cada usuario, publicación, tema y categoría. Consulta Administración → Personalizar → Enlace permanente. Muchos otros importadores tienen soporte para crear enlaces permanentes.