| 1 | CREATE TYPE "public"."project_invitation_type" AS ENUM('member', 'client');--> statement-breakpoint |
| 2 | CREATE TABLE "project_client_assignments" ( |
| 3 | "id" text PRIMARY KEY |
| 4 | "project_id" text NOT NULL |
| 5 | "member_id" text NOT NULL |
| 6 | "assigned_at" timestamp DEFAULT |
| 7 | ); |
| 8 | --> statement-breakpoint |
| 9 | CREATE TABLE "project_invitations" ( |
| 10 | "id" text PRIMARY KEY |
| 11 | "invitation_id" text NOT NULL |
| 12 | "project_id" text NOT NULL |
| 13 | "type" "project_invitation_type" NOT NULL |
| 14 | "created_at" timestamp DEFAULT |
| 15 | CONSTRAINT "project_invitations_invitation_id_unique" UNIQUE |
| 16 | ); |
| 17 | --> statement-breakpoint |
| 18 | CREATE TABLE "project_member_assignments" ( |
| 19 | "id" text PRIMARY KEY |
| 20 | "project_id" text NOT NULL |
| 21 | "member_id" text NOT NULL |
| 22 | "role" text DEFAULT |
| 23 | "assigned_at" timestamp DEFAULT |
| 24 | ); |
| 25 | --> statement-breakpoint |
| 26 | CREATE TABLE "project_team_assignments" ( |
| 27 | "id" text PRIMARY KEY |
| 28 | "project_id" text NOT NULL |
| 29 | "team_id" text NOT NULL |
| 30 | "assigned_at" timestamp DEFAULT |
| 31 | ); |
| 32 | --> statement-breakpoint |
| 33 | CREATE TABLE "projects" ( |
| 34 | "id" text PRIMARY KEY |
| 35 | "name" text NOT NULL |
| 36 | "description" text, |
| 37 | "slug" text NOT NULL |
| 38 | "organization_id" text NOT NULL |
| 39 | "due_date" timestamp, |
| 40 | "created_at" timestamp DEFAULT |
| 41 | "updated_at" timestamp DEFAULT |
| 42 | CONSTRAINT "projects_slug_unique" UNIQUE |
| 43 | ); |
| 44 | --> statement-breakpoint |
| 45 | ALTER TABLE "project_client_assignments" ADD |
| 46 | ALTER TABLE "project_client_assignments" ADD |
| 47 | ALTER TABLE "project_invitations" ADD |
| 48 | ALTER TABLE "project_member_assignments" ADD |
| 49 | ALTER TABLE "project_member_assignments" ADD |
| 50 | ALTER TABLE "project_team_assignments" ADD |
| 51 | ALTER TABLE "project_team_assignments" ADD |
| 52 | ALTER TABLE "projects" ADD |
| 53 | CREATE UNIQUE INDEX "project_client_unique" ON |
| 54 | CREATE UNIQUE INDEX "project_member_unique" ON |
| 55 | CREATE UNIQUE INDEX "project_team_unique" ON |