-- Database Schema untuk Aplikasi Dokumentasi Nasabah LPD Gerana

-- Buat database jika belum ada
CREATE DATABASE IF NOT EXISTS dokumentasi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE dokumentasi;

-- Tabel dokumentasi
CREATE TABLE IF NOT EXISTS dokumentasi (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(255) NOT NULL,
    no_anggota VARCHAR(100) NOT NULL,
    jenis_perjanjian VARCHAR(255) NOT NULL,
    tanggal DATE NOT NULL,
    catatan TEXT,
    foto LONGTEXT NOT NULL COMMENT 'Base64 encoded image',
    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_nama (nama),
    INDEX idx_no_anggota (no_anggota),
    INDEX idx_tanggal (tanggal),
    INDEX idx_timestamp (timestamp)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Tabel untuk tracking aktivitas (optional)
CREATE TABLE IF NOT EXISTS activity_log (
    id INT AUTO_INCREMENT PRIMARY KEY,
    action VARCHAR(50) NOT NULL,
    dokumentasi_id INT,
    details TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_dokumentasi_id (dokumentasi_id),
    INDEX idx_created_at (created_at),
    FOREIGN KEY (dokumentasi_id) REFERENCES dokumentasi(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
