Knowledge Base ORA RIBET Tutorial

🛡️ Keamanan Data: Mekanisme Smart Sync & Backup Otomatis

K
Knowledge Base
28 Desember 2025
5 views
Tutorial
Artikel untuk: ORA RIBET
Sistem Manajemen Pengajuan Program Bantuan Efisien, Transparan, dan Berbasis Data Real dari Teraskota API. Tidak perlu ribet lagi mengelola pengajuan bantuan RT/RW!

Artikel ini menjelaskan logika di balik fitur sinkronisasi data untuk memastikan integritas data tetap terjaga, mencegah duplikasi, dan menangani konflik data antara cloud dan local.

🔒 Fitur Keamanan Utama

1. Backup Otomatis

Sebelum satu baris data pun diubah, sistem membuat salinan penuh database lokal.

  • Lokasi: /database/
  • Format: renja_rt.db.backup_before_rt_sync_[TIMESTAMP]

2. Transaction Management (Atomic Operations)

Semua operasi database dibungkus dalam satu Transaction.

  • Jika Sukses: Semua perubahan disimpan (Commit).
  • Jika Gagal: Semua perubahan dibatalkan (Rollback). Ini mencegah data menjadi korup atau ter-update sebagian saja.

🔄 Logika Sinkronisasi (Sync Logic)

Kami menggunakan dua pendekatan berbeda tergantung jenis tabel:

A. Smart Merge (Khusus Tabel rt_proposals)

Digunakan untuk data yang mungkin berubah isinya (edit).

  • Check ID: Apakah proposal sudah ada?
  • Insert: Jika belum ada, masukkan data baru.
  • Update: Jika sudah ada, sistem membandingkan updated_at. Data lokal hanya ditimpa jika versi cloud lebih baru.

B. Incremental Sync (Tabel submissions & beneficiaries)

Digunakan untuk data transaksional yang terus bertambah.

  • Sistem mengecek MAX(id) di database lokal.
  • Hanya mengambil data dari cloud yang ID-nya lebih besar dari ID lokal terakhir.
  • Mencegah duplikasi data lama.

✅ Validasi Integritas

Script secara ketat memvalidasi Foreign Keys sebelum insert:

  1. rt_proposals memvalidasi keberadaan rt_user_id.
  2. submissions memvalidasi keberadaan user_id.
  3. beneficiaries memvalidasi keberadaan submission_id.
Terakhir diupdate: 28 Desember 2025