¿Cómo importar masivamente publicaciones de la mejor manera si no se pueden usar scripts de muestra en Ruby?

Hola, estoy moviendo una gran cantidad de contenido desde mi antiguo software de foro (privativo) a un nuevo foro de Discourse.

No soy programador de Ruby, así que no pude empezar con los scripts de importación de ejemplo proporcionados por Discourse… simplemente no es una buena solución para mí. Así que estoy llamando directamente a la API para manejar todos los pasos.

El problema es que estoy encontrando muchos problemas en el camino… principalmente limitación de velocidad, pero también problemas con foros duplicados y con la obtención del contenido de los mensajes a través de todas las “verificaciones de realidad” (por ejemplo: longitud mínima del mensaje, que finalmente descubrí que debía cambiar a ‘1’ en la configuración).

¿Existe alguna otra opción mejor? ¿Puedo de alguna manera insertar datos directamente en la base de datos, o…?

Si conoces algún lenguaje de programación, comenzar con los scripts de importación existentes es la mejor opción. Los scripts de importación masiva modifican directamente el SQL, pero aún están escritos en Ruby.

Vale… revisaré los scripts… Soy un programador con experiencia en otros lenguajes, solo no en Ruby/RoR.

Vale, ya he vuelto tras revisar los scripts de importación existentes en GitHub. :wink: Por lo que veo, se parece mucho al código que ya he escrito para realizar mis importaciones: muchos bucles para obtener los usuarios, los temas y, finalmente, los mensajes. Código especial para gestionar los archivos adjuntos (subirlos por separado, obtener la URL interna de Discourse y añadirlo al cuerpo del mensaje).

¿Hay alguna llamada especial a la API o algo más que esté pasando por alto en estos scripts que pueda ayudarme? El problema no es que no pueda escribir mi propio script de importación (usando la API), sino que parece poco elegante y me pregunto si existe una solución más fluida o elegante. Si hay algún “truco” (como llamadas especiales a la API?) en los scripts de ejemplo que pueda aprovechar en otro lenguaje, me encantaría entenderlo.

Por eso te recomendé que no lo uses.

Je, sí, ya hemos establecido eso, y también hemos establecido que no conozco RoR, por lo que invertir tiempo en reescribir uno de los scripts existentes tampoco es una buena solución para mí. Si tienes alguna otra recomendación que pueda ayudarme aquí :wink: me encantaría (de verdad) escucharla. Gracias.

Hola Eric,

Los scripts principales de migración son un excelente punto de partida. Hace un mes, yo tampoco había programado nunca en Ruby.

De hecho, hace unos días escribí un script personalizado en PHP para ayudar con la migración (tras una larga década de experiencia en PHP), pero decidí reescribirlo en Ruby y “es un juego de niños” LOL.

¡Ahora soy un fanático de Ruby!

Ruby me pareció un poco extraño al principio, pero ahora empieza a tener sentido.

¡Simplemente métete de cabeza y estarás bien!

O… ¡contrata a uno de los programadores de aquí para que te ayude!

Gracias, sí, aprender RoR está en la lista! :wink: