Skip to Content
DeveloperData model

Data model

Skema ada di prisma/schema.prisma. Prisma memakai adapter libSQL: SQLite untuk lokal dan pengujian, Turso/libSQL untuk deployment.

Kelompok relasi

  • User, Session, Organization, ActorGrant mengikat identitas, sesi, dan kewenangan organisasi.
  • ExternalPosition, CompetencyManifest, PositionRequirement, Rubric, RubricCriterion, HardEligibilityRule menyimpan standar posisi.
  • CandidateTarget dan CandidateEligibilityAnswer menyimpan target kandidat dan jawaban syarat dasar.
  • Work, WorkResource, WorkCompetencyClaim menyimpan Karya, sumber, serta relasi kompetensi.
  • Assessment, VerifierAssignment, AssessmentCriterionResult, AssessmentRevocation menjaga siklus penilaian dan riwayat pencabutannya.
  • RequirementMatch dan TargetReadiness adalah proyeksi yang dihitung dari state domain.
  • ShortProject, ProjectAttempt, NewTaskException membatasi tugas tambahan.
  • SkillProfileShare, ShareAccessEvent, CompanyCandidateDecision, Outcome, OutcomeConfirmation menangani berbagi serta tahap setelah penilaian.
  • CommandReceipt, AuditEvent, dan RateLimitBucket mendukung command idempotent, audit, dan batas request bersama.

Aturan yang harus dipertahankan

Karya milik kandidat dan tetap ada saat target diganti. Role grant tidak sama dengan penugasan. Server menghitung readiness; browser tidak boleh menentukan statusnya.

Jangan mengubah kriteria yang sudah terbit atau hasil assessment tanpa jejak. Riwayat harus tetap menjelaskan keputusan yang pernah dibuat. Aplikasi menolak command yang memakai versi lama.

Skema dan migrasi Prisma menunjukkan model yang benar-benar berjalan. Aturan bisnisnya ada pada fungsi aplikasi dan domain terkait.

Migrasi

Untuk database lokal, jalankan bun run db:migrate. Database remote memakai script khusus yang dijelaskan di panduan deployment; Prisma Migrate lokal tidak menargetkan libSQL remote. Artikel bantuan tidak memerlukan perubahan skema.

Last updated on