Esa es, de lejos, la forma más rápida y sencilla.
Descarga tu lista de usuarios como sugirió @JammyDodger, desde /admin/users/list/active, descarga el archivo CSV, límpialo para conservar solo las direcciones de correo electrónico y realiza una invitación masiva desde tu interfaz de administrador desde una nueva instalación de Discourse. Tus usuarios tendrán que crear una cuenta de nuevo.
Si quieres eliminar todos los datos excepto algunos usuarios, no hay una forma fácil de hacerlo y solo se me ocurre que intentar podría fácilmente llevar a un foro roto.
Si quieres exportar la mayoría de los datos de tus usuarios (su propia configuración y cosas), también será difícil y requerirá crear un script de Ruby on Rails. Además, podrías enfrentarte a problemas en los que no he pensado. Si no estás seguro de cómo hacerlo, te sugiero que te ciñas a la primera solución o publiques en Marketplace si tienes presupuesto.
Eso es cierto. Pero si quieres vivir peligrosamente, puedes probar esto:
./launcher enter app
discourse backup
rails c
Topic.where("user_id > 1").destroy_all
Upload.where("user_id > 1").destroy_all
exit
exit
Creo que eliminar temas debería eliminar publicaciones, pero también podrías agregar un
Post.where("user_id > 0").destroy_all
El > 1 dejará los temas creados por el primer usuario. Si también quieres eliminarlos, cámbialo a > 0, lo que dejará los temas creados por @system. Creo que te arrepentirás mucho si eliminas esos.
Esto hace una copia de seguridad en caso de que destruya todo.
Esto es casi con toda seguridad una mala idea, pero es lo que pediste.
Gracias por confirmarlo. Quería estar seguro, porque uno o dos de los métodos recomendados para otras cosas que figuran en Administrative Bulk Operations tuvieron efectos secundarios no deseados la última vez que los usé.
Usé uno para mover temas de una categoría a otra, pero movió el tema “acerca de” junto con los temas regulares. Sin embargo, es posible que haya usado un script de rails en lugar de la tarea rake. No estoy seguro.
Puedes intentarlo tú mismo, pero haz una copia de seguridad primero.
Ve a tu carpeta de discourse en la línea de comandos.
Entra en el contenedor con ./launcher enter app.
Luego escribe rake destroy:topics_all_categories.
Míralo en acción (mi instancia de prueba es muy lenta):