Kembali ke Semua Artikel
Fullstack & Database

Membangun Audit Log Immutability dengan Database Triggers & Change Data Capture

G
Gentha Arya Pratama
•
13 Oktober 2026
•
5 menit baca
•
444 views
Membangun Audit Log Immutability dengan Database Triggers & Change Data Capture
Lihat Gambar Penuh

Menjamin Kredibilitas Data Finansial

Dalam aplikasi perbankan, logistik, atau sistem kesehatan, mencatat siapa yang mengubah data, kapan diubah, dan nilai apa sebelum diubah adalah persyaratan kepatuhan wajib (compliance).

Jika log hanya disimpan via aplikasi backend biasa (logger.info('user updated')), data log tersebut rawan dimanipulasi atau terlewat saat terjadi error transaksi.

Menggunakan Database Trigger Native

Pendekatan paling aman adalah meletakkan trigger langsung di mesin database:

CREATE TRIGGER before_user_balance_update
BEFORE UPDATE ON user_wallets
FOR EACH ROW
BEGIN
  INSERT INTO wallet_audit_logs (
    wallet_id, old_balance, new_balance, changed_by, changed_at
  ) VALUES (
    OLD.id, OLD.balance, NEW.balance, CURRENT_USER(), NOW()
  );
END;

Tabel audit kemudian dikonfigurasi tanpa izin UPDATE atau DELETE untuk pengguna biasa (REVOKE DELETE ON wallet_audit_logs FROM 'app_user'), memastikan integritas riwayat transaksi abadi (immutable).

G

Ditulis oleh Gentha Arya Pratama

Fullstack Developer berdedikasi membangun aplikasi web & mobile modern dengan fokus pada performa, arsitektur bersih, dan user experience.

Bagaimana pendapat Anda tentang artikel ini?

Beri reaksi instan atau bagikan ilmu ini ke rekan sesama developer.

Tersedia untuk Project

Ingin Membuat Aplikasi Web atau Mobile?

Konsultasikan kebutuhan pembuatan aplikasi Anda—mulai dari sistem enterprise, landing page berkonversi tinggi, hingga aplikasi Android. Pengerjaan cepat, aman, dan bergaransi via Fastwork.

Web Application & Custom Dashboard
Mobile App Android (React Native)
Konsultasi Sekarang
100% Aman & Rekber Resmi Fastwork