متابعة النقاش من استعادة نسخة احتياطية من Discourse يدويًا لأغراض التطوير:
على جهاز الكمبيوتر المحلي، أود حذف وسم في قاعدة بيانات النسخة الاحتياطية قبل الاستعادة. كيف يمكنني القيام بذلك عبر وحدة التحكم؟
متابعة النقاش من استعادة نسخة احتياطية من Discourse يدويًا لأغراض التطوير:
على جهاز الكمبيوتر المحلي، أود حذف وسم في قاعدة بيانات النسخة الاحتياطية قبل الاستعادة. كيف يمكنني القيام بذلك عبر وحدة التحكم؟
لحذف وسم من وحدة تحكم Rails، جرّب:
t = Tag.find_by_name('<your_tag_name>')
t.destroy!
إن استدعيت destroy! بدلاً من delete في الأمر الأخير، سيتم تنظيف جميع السجلات في الموقع المرتبطة بالوسم المحذوف.
شكرًا لمساعدتك ![]()
هل من الممكن حذف وسم من قاعدة بيانات لم يتم تشغيلها بعد؟ أي من نسخة احتياطية لا يمكن استعادتها (بسبب مشكلة تكرار الوسم)؟
آمل أن يكون السؤال واضحًا.
لو كنت سأقوم بذلك بنفسي، لبدأت بالعودة إلى الموقع الذي تم إنشاء ملف النسخة الاحتياطية منه، وحذف الوسم عبر وحدة تحكم Rails، ثم إنشاء ملف نسخة احتياطية جديد.
إذا لم يكن ذلك ممكنًا، أو إذا لم يحل مشكلة الوسم المكرر، فيمكنك حذف الصف من الجدول بفتح طرفية psql عليه. شيء مثل:
DELETE FROM tags WHERE name = <your_tag_name>;
مخاوفي من هذا الإجراء هي أنه لن يزيل استخدامات الوسم المحذوف من قاعدة بيانات الموقع بنفس الطريقة التي يتم بها ذلك عند استخدام أمر Rails destroy!. قد يكون من الجيد تجربة ذلك على نسخة من ملف النسخة الاحتياطية للتأكد من أنه لا يكسر أي شيء.
قد يكون من الجيد أيضًا تشغيل عبارة SELECT قبل حذف الوسم. قد يُظهر ذلك سبب المشكلة:
SELECT FROM tags WHERE name = <your_tag_name>;