XCodeSol School Management Suite Documentation

Database

The application uses MySQL 8 with tenant-scoped operational tables.

Baseline Schema

The baseline schema is stored in:

text
database/schema.sql

It creates tenants, tenant configuration, users, roles, permissions, RBAC joins, academic structures, student records, HR, finance, parent relations, transport, health, library, facilities, procurement, cafeteria, security, communications, IT, reporting, audit, and schema migration tables.

Migrations

Additional database changes are stored as timestamped SQL files in:

text
database/migrations

The installer applies migrations after importing the baseline schema. Local development can apply pending migrations with:

powershell
powershell -ExecutionPolicy Bypass -File scripts\database.ps1 -Action migrate

Translation Storage

Many short display fields are JSON objects keyed by locale. This keeps CRUD screens simple while allowing multilingual school names, class names, subject names, labels, and configuration values.

Tenant Scope

Operational records are tenant-scoped so one database can support separate school records. Requests are resolved through tenant middleware and guarded by authenticated user permissions.

Marketplace Database

The XCodeSol sales platform uses its own marketplace tables, including plugins, plugin_versions, plugin_customers, plugin_licenses, plugin_license_domains, plugin_download_events, and related checkout/license event tables. The seed SQL for this product inserts the sales/catalog record and a package version placeholder.