# `PhoenixKit.Migrations.Postgres.V101`
[🔗](https://github.com/BeamLabEU/phoenix_kit/blob/v1.7.164/lib/phoenix_kit/migrations/postgres/v101.ex#L1)

V101: Projects module tables.

Creates five tables used by `phoenix_kit_projects`:

- `phoenix_kit_project_tasks` — reusable task library with default
  assignees and estimated duration
- `phoenix_kit_project_task_dependencies` — "task A must finish before
  task B" links at the template (library) level
- `phoenix_kit_projects` — project containers with start mode
  (immediate / scheduled)
- `phoenix_kit_project_assignments` — task instance in a project;
  copies duration + description from template (editable independently)
- `phoenix_kit_project_dependencies` — per-project assignment-level
  "A must finish before B" links

Each assignment and task template may have **at most one** assignee
(team, department, or person) — enforced by `CHECK (num_nonnulls(...) <= 1)`
on both tables.

Depends on V100 (staff tables) for the polymorphic assignee foreign keys.

# `down`

# `up`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
