diff --git a/README.md b/README.md index 7f0cabd..0177c49 100644 --- a/README.md +++ b/README.md @@ -255,6 +255,7 @@ Content-Type: application/json - `migrations/000_baseline.sql` is the full schema baseline for the whole database. It is written to be safe to re-run (idempotent) and is the source of truth for a fresh install. - `php migrations/migrate.php` applies any pending migration files in `migrations/` in order, tracking applied files in the `migrations` table. Use `--status` to list state and `--dry-run` to preview without executing. +- Numbered migrations on top of the baseline (all idempotent, safe to re-run): `001_widen_bulk_operations_status.sql`, `002_fix_collation_consistency.sql`, `003_fk_on_delete_set_null.sql`, `004_fix_ticket_watchers_type.sql`. A fresh install via `000_baseline.sql` already includes all of these; they only matter for upgrading an existing database. ### API Endpoints @@ -348,7 +349,9 @@ tinker_tickets/ │ └── images/ │ └── favicon.png ├── config/ -│ └── config.php # Config + .env loading +│ ├── config.php # Config + .env loading +│ └── requirements.php # PHP version/extension requirements (single source of +│ # truth for scripts/check_requirements.php + api/health.php) ├── controllers/ │ ├── CommentController.php # Comment create/edit/delete + notifications │ ├── DashboardController.php # Dashboard with stats + filters @@ -389,6 +392,10 @@ tinker_tickets/ │ └── WorkflowModel.php # Status transition workflows ├── migrations/ │ ├── 000_baseline.sql # Full schema baseline (safe to re-run) +│ ├── 001_widen_bulk_operations_status.sql # Upgrade-only (already in baseline for fresh installs) +│ ├── 002_fix_collation_consistency.sql # Upgrade-only (already in baseline for fresh installs) +│ ├── 003_fk_on_delete_set_null.sql # Upgrade-only (already in baseline for fresh installs) +│ ├── 004_fix_ticket_watchers_type.sql # Upgrade-only (already in baseline for fresh installs) │ └── migrate.php # CLI migration runner (tracks applied migrations) ├── scripts/ │ ├── check_requirements.php # Verify PHP extensions/config prerequisites @@ -406,6 +413,9 @@ tinker_tickets/ │ │ └── WorkflowDesignerView.php # Workflow transition designer │ ├── CreateTicketView.php # Ticket creation with visibility │ ├── DashboardView.php # Dashboard with kanban + sidebar + charts +│ ├── error_403.php # Access-denied error page +│ ├── error_404.php # Not-found error page +│ ├── error_500.php # Fatal-error page (self-contained, no app-state deps) │ ├── layout_footer.php # Shared footer (notification polling, boot sequence) │ ├── layout_header.php # Shared header (nav, command palette, theme toggle) │ └── TicketView.php # Ticket view with timeline, SLA, watcher avatars