كيف يمكنني جعل سلة إعادة التدوير لتطبيق قاعدة البيانات؟
-
20-09-2019 - |
سؤال
لديّ تطبيق قاعدة بيانات ، أريد أن أسمح للمستخدم باستعادة السجلات المحذوفة من قاعدة البيانات ، كما هو الحال في Windows ، لدينا BIN Recycle for Files ، أريد أن أفعل نفس الشيء ولكن بالنسبة لسجلات قاعدة البيانات ، افترض أن لدي الكثير من الجداول ذات الصلة التي لديها الكثير من الحقول.
تعديل:
دعنا نقول أن لدي الهياكل التالية:
جدول التقارير
- repname المفتاح الأساسي
- تقرير
جدول المستخدمين
- معرف المفتاح الأساسي
- اسم
الجدول UserReports
- repname المفتاح الأساسي
- مفتاح userId الأساسي
- يتم حذف
الآن إذا وضعت حقل Isdeleted في جدول UserReports ، فلا يمكن للمستخدم إضافة نفس السجل مرة أخرى إذا تم وضع علامة عليه كما تم حذفه ، لأن السجل بالفعل وسيؤدي ذلك إلى تكرار.
المحلول
ملاحظة: أنا دائمًا أستخدم المفتاح الأساسي البديل.
إضافة عمود الطابع الزمني 'DELETED_AT'. عندما يقوم المستخدم بحذف الإدخال ، وضع الوقت الحالي. اجعل هذا الجزء الرئيسي من تقييدك.
في كل استعلام ، تذكر أن تبحث فقط عن السجلات التي لها NULL في حقل DELETED_AT.
بعض الأطر (مثل ActivereCord) تجعل من التافهة القيام به.