Database¶
School ERP uses PostgreSQL as the primary datastore.
Guidance for private deployments¶
- Use PostgreSQL 14+
- Take daily backups (logical + WAL as appropriate)
- Do not modify schema manually — use official migrations
- Prefer read replicas for heavy reporting workloads
Important domains¶
| Area | Example tables / concepts |
|---|---|
| Students | students, admissions, guardians |
| Attendance | attendance_records, month_locks |
| Fees | fee_heads, payments, receipts |
| Exams | exam_schedules, marks |
Month-end lock
Attendance lock status is stored with month closing records. Unlocking is an application action, not a raw SQL update.