Files
cpone_dashboard/clude.md

51 lines
1.8 KiB
Markdown

# Aturan Penulisan Table dan Kolom (cpone_dashboard)
## 1) Penamaan Table
- Gunakan `snake_case` semua huruf kecil.
- Gunakan prefix domain bila relevan: `mcu_...`, `dashboard_...`, `published_...`.
- Nama table harus deskriptif dan konsisten dengan modul data.
- Contoh benar:
- `mcu_participant_daily`
- `mcu_participant_daily_details`
- `mcu_patient_resume_status`
## 2) Penamaan Kolom
- Gunakan `PascalCase` dengan prefix entitas/tabel.
- Pola utama:
- `<EntityPrefix>ID` untuk primary key.
- `<EntityPrefix><FieldName>` untuk field lain.
- Hindari nama generik tanpa prefix seperti `IsActive`, `Created`, `LastUpdated`.
- Contoh benar (table: `mcu_participant_daily_details`):
- `Mcu_ParticipantDailyDetailsID`
- `Mcu_ParticipantDailyDetailsParticipantDailyID`
- `Mcu_ParticipantDailyDetailsMcu_PatientID`
- `Mcu_ParticipantDailyDetailsIsActive`
- `Mcu_ParticipantDailyDetailsCreated`
- `Mcu_ParticipantDailyDetailsLastUpdated`
## 3) Kolom Status & Waktu (Standar)
- Status aktif:
- `...IsActive CHAR(1) NOT NULL DEFAULT 'Y'`.
- Waktu buat:
- `...Created DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP`.
- Waktu update terakhir:
- `...LastUpdated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`.
## 4) Key dan Index
- Primary key wajib pada kolom `...ID`.
- Tambahkan index pada kolom relasi/filter utama.
- Nama index gunakan pola jelas:
- `idx_<field>` untuk index biasa.
- `uq_<context>` / `uk_<context>` untuk unique key.
## 5) Charset/Engine
- Gunakan:
- `ENGINE=InnoDB`
- `DEFAULT CHARSET=utf8mb4`
## 6) Checklist Sebelum Buat Migration Baru
- Pastikan nama table `snake_case`.
- Pastikan semua kolom pakai prefix entitas (bukan nama generik).
- Pastikan kolom ID, IsActive, Created, LastUpdated mengikuti standar.
- Tambahkan index minimal untuk kolom relasi dan kolom filter utama.