هذه هي الطريقة الأسرع والأسهل، وبفارق كبير.
قم بتنزيل قائمة المستخدمين الخاصة بك كما اقترح @JammyDodger، من /admin/users/list/active، قم بتنزيل ملف CSV، وقم بتنظيفه للاحتفاظ بعناوين البريد الإلكتروني فقط، وقم بإجراء دعوة جماعية من واجهة المسؤول الخاصة بك من تثبيت Discourse جديد. سيحتاج المستخدمون إلى إنشاء حساب مرة أخرى.
إذا كنت ترغب في حذف جميع البيانات باستثناء بعض المستخدمين، فلا توجد طريقة سهلة للقيام بذلك ولا يمكنني التفكير إلا في أن المحاولة قد تؤدي بسهولة إلى منتدى معطل.
إذا كنت ترغب في تصدير معظم بيانات المستخدمين الخاصة بك (إعداداتهم الخاصة وأشياء أخرى)، فسيكون ذلك صعبًا أيضًا وسيتطلب إنشاء برنامج نصي بلغة Ruby on Rails. أيضًا، قد تواجه مشكلات لم أفكر فيها. إذا لم تكن متأكدًا من كيفية القيام بذلك، أقترح عليك الالتزام بالحل الأول أو النشر في Marketplace إذا كانت لديك ميزانية.
هذا صحيح. ولكن إذا كنت تريد أن تعيش بخطورة، يمكنك تجربة هذا:
./launcher enter app
discourse backup
rails c
Topic.where("user_id > 1").destroy_all
Upload.where("user_id > 1").destroy_all
exit
exit
أعتقد أن حذف المواضيع يجب أن يحذف المشاركات، ولكن يمكنك أيضًا إضافة
Post.where("user_id > 0").destroy_all
سيترك > 1 المواضيع التي أنشأها المستخدم الأول. إذا كنت تريد حذفها أيضًا، فغيّرها إلى > 0، والتي ستترك المواضيع التي أنشأها @system. أعتقد أنك ستندم بشدة إذا حذفتها.
شكراً لتأكيدك هذا. أردت التأكد، لأن واحدة أو اثنتين من الطرق الموصى بها لأشياء أخرى المدرجة على Administrative Bulk Operations كان لها آثار جانبية غير مرغوب فيها في المرة الأخيرة التي استخدمتها فيها.
استخدمت إحداها لنقل المواضيع من فئة إلى أخرى، لكنها نقلت موضوع “حول” مع المواضيع العادية. ربما استخدمت نص Rails بدلاً من مهمة Rake، لست متأكداً.
يمكنك المحاولة بنفسك، ولكن قم بعمل نسخة احتياطية أولاً.
انتقل إلى مجلد discourse الخاص بك في سطر الأوامر.
أدخل الحاوية باستخدام ./launcher enter app.
ثم اكتب rake destroy:topics_all_categories.