Database Maintenance & Migration

Data Migration (Teacher CPT → Staff Table)

When upgrading from v1.1 to v1.2+, the system automatically:

  1. Copies ik_teacher custom post types to institutionkit_staff table
  2. Generates employee codes (format: TCH00001)
  3. Maps teacher designations to staff roles
  4. Migrates attendance records
  5. Updates meeting slot references
  6. Updates teacher comment associations

To check migration status:

php

$migrated = get_option('ik_teacher_migration_complete'); // true/false
$log = get_option('ik_teacher_migration_log'); // Details

Table Health Check

Run this to verify all tables exist:

php

$db = new IK_Database();
$missing = $db->check_tables();
if (!empty($missing)) {
// Tables need to be created
$db->create_tables();
}

Campus ID Column Migration

The system automatically adds campus_id columns to legacy tables:

  • institutionkit_attendance
  • institutionkit_invoices
  • institutionkit_gradebook
  • And 12+ more tables

Default Data Inserted

On fresh installation, these defaults are created:

  • 11 Grade Scales (A+ to F with GPA points)
  • 10 Meeting Topics (Academic Performance, Behavior, etc.)
  • 15 Expense Heads (Rent, Utilities, Salaries, etc.)
  • 1 Default Campus ("Main Campus" with code "MAIN")

Backup Recommendations

Critical tables to backup regularly:

wp_institutionkit_students
wp_institutionkit_staff
wp_institutionkit_invoices
wp_institutionkit_transactions
wp_institutionkit_payroll
wp_institutionkit_expenses
wp_institutionkit_gradebook (or ik_grades_v2)

Troubleshooting Common Issues

Issue: "Payroll not generating for staff"

Check:

  1. Staff employment_status = 'active'
  2. Staff join_date is before payroll month
  3. Staff not terminated (termination_date is NULL or after payroll month)
  4. Attendance records exist in institutionkit_staff_attendance

Issue: "Expense approval stuck"

Check:

  1. institutionkit_expense_approvals table for pending records
  2. Ensure approvers are assigned (campus manager, finance manager)
  3. Verify expense amount matches approval level requirements

Issue: "Financial reports showing zero"

Check:

  1. Date range filters are correct
  2. Expense status is 'approved' or 'reimbursed' (not 'pending_approval')
  3. Collections are recorded in institutionkit_campus_collections

Issue: "Duplicate payroll entries"

Prevention: Unique constraint on (staff_id, campus_id, payroll_month)
Fix: Delete duplicate and regenerate

Comments are closed.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
💬 Ask Me Anything!