mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-17 07:09:53 +02:00
Projects become schedulable planning objects alongside their issues: add optional start_date / due_date, mirroring issue.start_date / issue.due_date. This is only the first slice of #5227 — labels, metadata, and the editable metadata UI are still out of scope. - migration 166: two nullable DATE columns on `project` (calendar days, no FK/index — matches the issue end-state after migration 112) - sqlc CreateProject / UpdateProject carry the dates; UpdateProject uses narg so an explicit null clears - handler: parse YYYY-MM-DD (400 on bad format), rawFields-presence clear on update, and the hand-scanned SearchProjects query returns the columns - CLI: `project create/update --start-date/--due-date` (empty clears on update) - frontend + mobile types/zod schemas: the two new schema fields are nullable().default(null) so a project from an older backend (frontend deploys before backend) parses to null instead of degrading the batch to the empty fallback; added a search schema drift test - projects skill / CLI docs Part of #5227 Co-authored-by: J <j@multica.ai> Co-authored-by: multica-agent <github@multica.ai>
11 lines
594 B
SQL
11 lines
594 B
SQL
-- Project start_date / due_date make a Project a schedulable planning object
|
|
-- alongside its issues: a planned start plus a deadline. These mirror
|
|
-- issue.start_date / issue.due_date after migration 112 — calendar days stored
|
|
-- as DATE, carrying no time-of-day or timezone, so "Mar 1" means Mar 1 for
|
|
-- every viewer regardless of their local offset (see GH #3618 / MUL-2925).
|
|
-- Backs MUL-4388 / GH #5227. Nullable, no default: adding a nullable column is
|
|
-- a metadata-only change with no table rewrite.
|
|
ALTER TABLE project
|
|
ADD COLUMN start_date DATE,
|
|
ADD COLUMN due_date DATE;
|