waktu tersisa untuk klaim promo DISKON 40%. Klaim Promo

Fungsi Delete

Ditanyakan pada tanggal 12 August 2019 oleh Achmad Kamil

[Ask]

Dear all, need info

Dalam role CRUD, apakah bisa melakukan sinkronisasi pada database jika setelah melakukan fungsi Delete?, karena jika saya perhatikan pada saat melakukan delete pada id tertentu dan kemudian ingin melakukan create data baru lagi, maka id pada data yang baru didalam database terlihat menjadi acak atau sudah tidak berurutan.

Salam,

1 JAWABAN / 0 KOMENTAR

Generic placeholder image
Ahmad Oriza Sahputra menjawab pada tanggal 14 August 2019

Penghapusan (hard delete) pada record memang akan menyebabkan merusak urutan ID. Yang tadinya 1, 2, 3 bisa jadi 1, 3 jika 2 dihapus. Secara sistem sebenernya gak masalah, karena ID tidak untuk dipertahankan urutannya, tapi lebih ke fungsionalitas mewakili 1 record data. Memang begitu adanya.

Nah, tapi ada cara yang elok. Untuk fitur hapus kita bisa gunakan teknik soft delete. Ketika user menghapus data jangan gunakan DELETE FROM, tapi buatlah 1 field khusus untuk menandai data dihapus saja. Jangan benar benar menghapus record tersebut. Kurang lebih format tabelnya jadi kaya gini :

ID Name Status
1 Oriza Active
2 Kamil Deleted

Ketika menjalankan fungsi hapus, kita jalankan perintah update field status menjadi deleted. Lalu tampilkan data di tabel hanya yang active saja. Di depan user akan terlihat seperti dihapus, padahal tidak. Dengan cara ini kita bisa mempertahankan urutan ID dan bisa mengembalikan/restore data kapanpun.