Files
trustlab-api/.agent/workflows/database-guidelines.md

1.6 KiB

description
description
Panduan Manajemen Database (Multi-Database Architecture)

Aturan & Panduan Database

Proyek ini menggunakan arsitektur Multi-Database untuk memisahkan data User/App dengan data High-Security (Certificate Authority).

Arsitektur

  1. Main Database Connection (mysql)

    • Kegunaan: Menyimpan data aplikasi umum (users, tickets, certificates (leaf), dll).
    • Reset Policy: Boleh di-reset saat development (php artisan migrate:fresh --seed).
    • Dependency: Terikat dengan logic aplikasi utama.
  2. CA Database Connection (mysql_ca)

    • Kegunaan: KHUSUS untuk ca_certificates (Root & Intermediate CA).
    • Reset Policy: DILARANG RESET sembarangan. Command migrate:fresh default TIDAK akan menyentuh database ini.
    • Driver: Menggunakan mysql di Production (sama seperti Main DB), bukan SQLite atau D1 (kecuali ada instruksi spesifik).

Aturan Migrasi

  1. Pembuatan Tabel Baru:

    • Tentukan tabel masuk ke kategori mana (App vs CA).
    • Jika CA, gunakan Schema::connection('mysql_ca')->create(...).
    • Jika App, gunakan Schema::create(...) biasa.
  2. Data Safety:

    • Sebelum menjalankan query raw atau operasi destructive, pastikan koneksi yang dipilih benar.
    • Gunakan command php artisan ca:migrate-data hanya jika perlu memindahkan data antar database.

Cloudflare D1

  • Saat ini D1 TIDAK DIGUNAKAN untuk kompatibilitas penuh dengan server berbasis VPS/Hosting standar.
  • Jangan mengusulkan migrasi ke D1 kecuali infrastruktur berpindah ke Cloudflare Workers sepenuhnya.