User - User accountsCompany - Organizations/tenantsRole - User roles (admin, member, viewer)UserCompanyRole - User-company-role assignmentsProject - Projects within companiesTask - Gantt chart tasksTask_Ordering - VIEW for task display order (do NOT insert directly)Predecessor - Task dependenciesArtefact - Documents, files, linksArtefactType - Document types (PDF, Word, etc.)Container - Folder structure for artifactsTimesheet - Timesheet entriesTimesheetTask - Time entries per taskCompany (1) ──── (N) Project
Project (1) ──── (N) Task
Task (1) ──── (N) Predecessor
Project (1) ──── (N) Container
Container (1) ──── (N) Artefact
| Rule | Description |
|---|---|
display_order |
Always set to MAX+1 when creating tasks |
Task_Ordering |
It's a VIEW - update Task.display_order instead |
| Dates | Store as UTC, convert in UI |
| Cascades | CASCADE for children, SET NULL for references |
Migrations are in migrations/ folder using Flyway.
Naming Convention: V{version}__{description}.sql
Example: V26_1_1_0_1__create_tables.sql
See Flyway Migrations for details.