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,ActorGrantmengikat identitas, sesi, dan kewenangan organisasi.ExternalPosition,CompetencyManifest,PositionRequirement,Rubric,RubricCriterion,HardEligibilityRulemenyimpan standar posisi.CandidateTargetdanCandidateEligibilityAnswermenyimpan target kandidat dan jawaban syarat dasar.Work,WorkResource,WorkCompetencyClaimmenyimpan Karya, sumber, serta relasi kompetensi.Assessment,VerifierAssignment,AssessmentCriterionResult,AssessmentRevocationmenjaga siklus penilaian dan riwayat pencabutannya.RequirementMatchdanTargetReadinessadalah proyeksi yang dihitung dari state domain.ShortProject,ProjectAttempt,NewTaskExceptionmembatasi tugas tambahan.SkillProfileShare,ShareAccessEvent,CompanyCandidateDecision,Outcome,OutcomeConfirmationmenangani berbagi serta tahap setelah penilaian.CommandReceipt,AuditEvent, danRateLimitBucketmendukung 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.