Finalmente vuelvo a esto después de haberlo pospuesto un tiempo. Estoy dispuesto a hacer una copia de seguridad y probar algo si puedo vislumbrar una posibilidad de éxito, pero anhelo un poco más de confianza aquí. Carezco de mucha experiencia en scripting, pero me gustaría mucho entender cómo el importador de CSV conservaría las publicaciones (respuestas) y las fechas, como sugiere @nathank, ya que el script no parece definir ningún manejo de ellas.
Importa campos limitados para: usuarios, correos electrónicos, campos de usuario personalizados, categorías y temas.
No necesito campos de usuario personalizados ni nuevas categorías, por lo que los CSV relevantes y sus campos especificados son:
== Formato de archivos CSV
Nombre del archivo: users
encabezados: id,username
Nombre del archivo: emails
encabezados: user_id,email
Nombre del archivo: topics_new_users
encabezados: id,user_id,title,category_id,raw
Nombre del archivo: topics_existing_users
encabezados: id,user_id,title,category_id,raw
Al observar este modelo de datos, los Temas y las Publicaciones de Discourse son dos criaturas diferentes con algunos campos diferenciadores:
No veo nada en el script para manejar Publicaciones, ni fechas.
Tal vez se supone que debo agrupar los datos entrantes de Temas y Publicaciones, pero si es así, ¿cómo inferiría Discourse la relación tema/respuesta? ¿Es solo la secuencia de la entrada? ¿Las respuestas se relacionan con un Tema que tiene la primera aparición de un ID compartido? Todo lo que dice sobre los ID es:
excepto para topics_existing_users, los ID en los datos pueden ser cualquiera siempre que sean consistentes entre los archivos.
Si al script no le falta algo, entonces me falta a mí. ¡Agradezco cualquier pensamiento aclaratorio!
