Files
cpone_dashboard/clude.md

1.8 KiB

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.