mirror of
https://github.com/dyzulk/trustlab-api.git
synced 2026-01-26 05:15:35 +07:00
1.6 KiB
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
-
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.
- Kegunaan: Menyimpan data aplikasi umum (
-
CA Database Connection (
mysql_ca)- Kegunaan: KHUSUS untuk
ca_certificates(Root & Intermediate CA). - Reset Policy: DILARANG RESET sembarangan. Command
migrate:freshdefault TIDAK akan menyentuh database ini. - Driver: Menggunakan
mysqldi Production (sama seperti Main DB), bukan SQLite atau D1 (kecuali ada instruksi spesifik).
- Kegunaan: KHUSUS untuk
Aturan Migrasi
-
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.
-
Data Safety:
- Sebelum menjalankan query raw atau operasi destructive, pastikan koneksi yang dipilih benar.
- Gunakan command
php artisan ca:migrate-datahanya 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.