ฉันดีใจที่ได้พบกระทู้นี้ ฉันก็สงสัยเหมือนกันว่าผู้คนคิดอย่างไรเกี่ยวกับปัญหานี้ ฉันใช้งาน 'ทำเครื่องหมายว่าลบแล้ว' เป็นเวลาประมาณ 15 ปีในหลายระบบ เมื่อใดก็ตามที่ผู้ใช้โทรมาบอกว่ามีการลบโดยไม่ได้ตั้งใจการทำเครื่องหมายว่ายกเลิกการลบนั้นง่ายกว่าการสร้างใหม่หรือกู้คืนจากข้อมูลสำรอง
เรากำลังใช้ postgresql และ Ruby บนรางดูเหมือนว่าเราสามารถทำได้ด้วย 1 ในสองวิธีแก้ไขรางหรือเพิ่มทริกเกอร์ ondelete และใช้ฟังก์ชัน pl / pgsql แทนเพื่อทำเครื่องหมายว่าลบแล้ว ฉันเอนเอียงไปทางด้านหลัง
สำหรับความนิยมด้านประสิทธิภาพการดูผลลัพธ์ของ EXPLAIN-ANALYZE บนตารางขนาดใหญ่ไปจนถึงรายการที่ถูกลบเพียงไม่กี่รายการและรายการที่ถูกลบจะเป็นเรื่องที่น่าสนใจ
ในระบบที่ฉันพบเมื่อเวลาผ่านไปผู้ใช้ใหม่มักจะทำเรื่องโง่ ๆ เช่นลบสิ่งต่างๆโดยไม่ได้ตั้งใจ ดังนั้นเมื่อผู้คนอยู่ในตำแหน่งใหม่พวกเขาจะมีสิทธิ์การเข้าถึงทั้งหมดของบุคคลที่เคยอยู่ในตำแหน่งนั้นยกเว้นไม่มีประสบการณ์ การลบบางอย่างโดยไม่ได้ตั้งใจและสามารถกู้คืนได้อย่างรวดเร็วทำให้ทุกคนกลับมาทำงานได้อย่างรวดเร็ว
แต่อย่างที่ใครบางคนกล่าวไว้ว่าบางครั้งคุณอาจต้องการคีย์นั้นคืนด้วยเหตุผลบางประการ ณ จุดนั้นคุณจะต้องลบออกจริงๆจากนั้นสร้างระเบียนใหม่ (เมื่อยกเลิกการลบและแก้ไขบันทึก)