feat: setup checklist schema
This commit is contained in:
84
packages/db/migrations/20250715123447_AddCardChecklists.sql
Normal file
84
packages/db/migrations/20250715123447_AddCardChecklists.sql
Normal file
@@ -0,0 +1,84 @@
|
||||
CREATE TABLE IF NOT EXISTS "card_checklist_item" (
|
||||
"id" bigserial PRIMARY KEY NOT NULL,
|
||||
"publicId" varchar(12) NOT NULL,
|
||||
"title" varchar(500) NOT NULL,
|
||||
"completed" boolean DEFAULT false NOT NULL,
|
||||
"index" integer NOT NULL,
|
||||
"checklistId" bigint NOT NULL,
|
||||
"createdBy" uuid,
|
||||
"createdAt" timestamp DEFAULT now() NOT NULL,
|
||||
"updatedAt" timestamp,
|
||||
"deletedAt" timestamp,
|
||||
"deletedBy" uuid,
|
||||
CONSTRAINT "card_checklist_item_publicId_unique" UNIQUE("publicId")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "card_checklist_item" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "card_checklist" (
|
||||
"id" bigserial PRIMARY KEY NOT NULL,
|
||||
"publicId" varchar(12) NOT NULL,
|
||||
"title" varchar(255) NOT NULL,
|
||||
"index" integer NOT NULL,
|
||||
"cardId" bigint NOT NULL,
|
||||
"createdBy" uuid,
|
||||
"createdAt" timestamp DEFAULT now() NOT NULL,
|
||||
"updatedAt" timestamp,
|
||||
"deletedAt" timestamp,
|
||||
"deletedBy" uuid,
|
||||
CONSTRAINT "card_checklist_publicId_unique" UNIQUE("publicId")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "card_checklist" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "integration" (
|
||||
"provider" varchar(255) NOT NULL,
|
||||
"userId" uuid NOT NULL,
|
||||
"accessToken" varchar(255) NOT NULL,
|
||||
"refreshToken" varchar(255),
|
||||
"expiresAt" timestamp NOT NULL,
|
||||
"createdAt" timestamp NOT NULL,
|
||||
"updatedAt" timestamp,
|
||||
CONSTRAINT "integration_pkey" PRIMARY KEY("userId","provider")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "integration" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "card_checklist_item" ADD CONSTRAINT "card_checklist_item_checklistId_card_checklist_id_fk" FOREIGN KEY ("checklistId") REFERENCES "public"."card_checklist"("id") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "card_checklist_item" ADD CONSTRAINT "card_checklist_item_createdBy_user_id_fk" FOREIGN KEY ("createdBy") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "card_checklist_item" ADD CONSTRAINT "card_checklist_item_deletedBy_user_id_fk" FOREIGN KEY ("deletedBy") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "card_checklist" ADD CONSTRAINT "card_checklist_cardId_card_id_fk" FOREIGN KEY ("cardId") REFERENCES "public"."card"("id") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "card_checklist" ADD CONSTRAINT "card_checklist_createdBy_user_id_fk" FOREIGN KEY ("createdBy") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "card_checklist" ADD CONSTRAINT "card_checklist_deletedBy_user_id_fk" FOREIGN KEY ("deletedBy") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "integration" ADD CONSTRAINT "integration_userId_user_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"id": "91f9a2fa-31e2-4f3a-bdb9-852292fd7501",
|
||||
"prevId": "058e8521-2814-46f0-a33f-1bbd86f450ce",
|
||||
"prevId": "d170c8e0-bf75-4c71-abd9-0ecbeeb14003",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
@@ -92,13 +92,9 @@
|
||||
"account_userId_user_id_fk": {
|
||||
"name": "account_userId_user_id_fk",
|
||||
"tableFrom": "account",
|
||||
"columnsFrom": [
|
||||
"userId"
|
||||
],
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
@@ -245,13 +241,9 @@
|
||||
"apiKey_userId_user_id_fk": {
|
||||
"name": "apiKey_userId_user_id_fk",
|
||||
"tableFrom": "apiKey",
|
||||
"columnsFrom": [
|
||||
"userId"
|
||||
],
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
@@ -320,13 +312,9 @@
|
||||
"session_userId_user_id_fk": {
|
||||
"name": "session_userId_user_id_fk",
|
||||
"tableFrom": "session",
|
||||
"columnsFrom": [
|
||||
"userId"
|
||||
],
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
@@ -335,9 +323,7 @@
|
||||
"uniqueConstraints": {
|
||||
"session_token_unique": {
|
||||
"name": "session_token_unique",
|
||||
"columns": [
|
||||
"token"
|
||||
],
|
||||
"columns": ["token"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -523,52 +509,36 @@
|
||||
"board_createdBy_user_id_fk": {
|
||||
"name": "board_createdBy_user_id_fk",
|
||||
"tableFrom": "board",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"board_deletedBy_user_id_fk": {
|
||||
"name": "board_deletedBy_user_id_fk",
|
||||
"tableFrom": "board",
|
||||
"columnsFrom": [
|
||||
"deletedBy"
|
||||
],
|
||||
"columnsFrom": ["deletedBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"board_importId_import_id_fk": {
|
||||
"name": "board_importId_import_id_fk",
|
||||
"tableFrom": "board",
|
||||
"columnsFrom": [
|
||||
"importId"
|
||||
],
|
||||
"columnsFrom": ["importId"],
|
||||
"tableTo": "import",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "no action"
|
||||
},
|
||||
"board_workspaceId_workspace_id_fk": {
|
||||
"name": "board_workspaceId_workspace_id_fk",
|
||||
"tableFrom": "board",
|
||||
"columnsFrom": [
|
||||
"workspaceId"
|
||||
],
|
||||
"columnsFrom": ["workspaceId"],
|
||||
"tableTo": "workspace",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
@@ -577,9 +547,7 @@
|
||||
"uniqueConstraints": {
|
||||
"board_publicId_unique": {
|
||||
"name": "board_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -713,91 +681,63 @@
|
||||
"card_activity_cardId_card_id_fk": {
|
||||
"name": "card_activity_cardId_card_id_fk",
|
||||
"tableFrom": "card_activity",
|
||||
"columnsFrom": [
|
||||
"cardId"
|
||||
],
|
||||
"columnsFrom": ["cardId"],
|
||||
"tableTo": "card",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"card_activity_fromListId_list_id_fk": {
|
||||
"name": "card_activity_fromListId_list_id_fk",
|
||||
"tableFrom": "card_activity",
|
||||
"columnsFrom": [
|
||||
"fromListId"
|
||||
],
|
||||
"columnsFrom": ["fromListId"],
|
||||
"tableTo": "list",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"card_activity_toListId_list_id_fk": {
|
||||
"name": "card_activity_toListId_list_id_fk",
|
||||
"tableFrom": "card_activity",
|
||||
"columnsFrom": [
|
||||
"toListId"
|
||||
],
|
||||
"columnsFrom": ["toListId"],
|
||||
"tableTo": "list",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"card_activity_labelId_label_id_fk": {
|
||||
"name": "card_activity_labelId_label_id_fk",
|
||||
"tableFrom": "card_activity",
|
||||
"columnsFrom": [
|
||||
"labelId"
|
||||
],
|
||||
"columnsFrom": ["labelId"],
|
||||
"tableTo": "label",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"card_activity_workspaceMemberId_workspace_members_id_fk": {
|
||||
"name": "card_activity_workspaceMemberId_workspace_members_id_fk",
|
||||
"tableFrom": "card_activity",
|
||||
"columnsFrom": [
|
||||
"workspaceMemberId"
|
||||
],
|
||||
"columnsFrom": ["workspaceMemberId"],
|
||||
"tableTo": "workspace_members",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"card_activity_createdBy_user_id_fk": {
|
||||
"name": "card_activity_createdBy_user_id_fk",
|
||||
"tableFrom": "card_activity",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"card_activity_commentId_card_comments_id_fk": {
|
||||
"name": "card_activity_commentId_card_comments_id_fk",
|
||||
"tableFrom": "card_activity",
|
||||
"columnsFrom": [
|
||||
"commentId"
|
||||
],
|
||||
"columnsFrom": ["commentId"],
|
||||
"tableTo": "card_comments",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
@@ -806,9 +746,7 @@
|
||||
"uniqueConstraints": {
|
||||
"card_activity_publicId_unique": {
|
||||
"name": "card_activity_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -838,26 +776,18 @@
|
||||
"_card_workspace_members_cardId_card_id_fk": {
|
||||
"name": "_card_workspace_members_cardId_card_id_fk",
|
||||
"tableFrom": "_card_workspace_members",
|
||||
"columnsFrom": [
|
||||
"cardId"
|
||||
],
|
||||
"columnsFrom": ["cardId"],
|
||||
"tableTo": "card",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"_card_workspace_members_workspaceMemberId_workspace_members_id_fk": {
|
||||
"name": "_card_workspace_members_workspaceMemberId_workspace_members_id_fk",
|
||||
"tableFrom": "_card_workspace_members",
|
||||
"columnsFrom": [
|
||||
"workspaceMemberId"
|
||||
],
|
||||
"columnsFrom": ["workspaceMemberId"],
|
||||
"tableTo": "workspace_members",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
@@ -865,10 +795,7 @@
|
||||
"compositePrimaryKeys": {
|
||||
"_card_workspace_members_cardId_workspaceMemberId_pk": {
|
||||
"name": "_card_workspace_members_cardId_workspaceMemberId_pk",
|
||||
"columns": [
|
||||
"cardId",
|
||||
"workspaceMemberId"
|
||||
]
|
||||
"columns": ["cardId", "workspaceMemberId"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
@@ -959,52 +886,36 @@
|
||||
"card_createdBy_user_id_fk": {
|
||||
"name": "card_createdBy_user_id_fk",
|
||||
"tableFrom": "card",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"card_deletedBy_user_id_fk": {
|
||||
"name": "card_deletedBy_user_id_fk",
|
||||
"tableFrom": "card",
|
||||
"columnsFrom": [
|
||||
"deletedBy"
|
||||
],
|
||||
"columnsFrom": ["deletedBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"card_listId_list_id_fk": {
|
||||
"name": "card_listId_list_id_fk",
|
||||
"tableFrom": "card",
|
||||
"columnsFrom": [
|
||||
"listId"
|
||||
],
|
||||
"columnsFrom": ["listId"],
|
||||
"tableTo": "list",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"card_importId_import_id_fk": {
|
||||
"name": "card_importId_import_id_fk",
|
||||
"tableFrom": "card",
|
||||
"columnsFrom": [
|
||||
"importId"
|
||||
],
|
||||
"columnsFrom": ["importId"],
|
||||
"tableTo": "import",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "no action"
|
||||
}
|
||||
@@ -1013,9 +924,7 @@
|
||||
"uniqueConstraints": {
|
||||
"card_publicId_unique": {
|
||||
"name": "card_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1045,26 +954,18 @@
|
||||
"_card_labels_cardId_card_id_fk": {
|
||||
"name": "_card_labels_cardId_card_id_fk",
|
||||
"tableFrom": "_card_labels",
|
||||
"columnsFrom": [
|
||||
"cardId"
|
||||
],
|
||||
"columnsFrom": ["cardId"],
|
||||
"tableTo": "card",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"_card_labels_labelId_label_id_fk": {
|
||||
"name": "_card_labels_labelId_label_id_fk",
|
||||
"tableFrom": "_card_labels",
|
||||
"columnsFrom": [
|
||||
"labelId"
|
||||
],
|
||||
"columnsFrom": ["labelId"],
|
||||
"tableTo": "label",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
}
|
||||
@@ -1072,10 +973,7 @@
|
||||
"compositePrimaryKeys": {
|
||||
"_card_labels_cardId_labelId_pk": {
|
||||
"name": "_card_labels_cardId_labelId_pk",
|
||||
"columns": [
|
||||
"cardId",
|
||||
"labelId"
|
||||
]
|
||||
"columns": ["cardId", "labelId"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
@@ -1148,39 +1046,27 @@
|
||||
"card_comments_cardId_card_id_fk": {
|
||||
"name": "card_comments_cardId_card_id_fk",
|
||||
"tableFrom": "card_comments",
|
||||
"columnsFrom": [
|
||||
"cardId"
|
||||
],
|
||||
"columnsFrom": ["cardId"],
|
||||
"tableTo": "card",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"card_comments_createdBy_user_id_fk": {
|
||||
"name": "card_comments_createdBy_user_id_fk",
|
||||
"tableFrom": "card_comments",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"card_comments_deletedBy_user_id_fk": {
|
||||
"name": "card_comments_deletedBy_user_id_fk",
|
||||
"tableFrom": "card_comments",
|
||||
"columnsFrom": [
|
||||
"deletedBy"
|
||||
],
|
||||
"columnsFrom": ["deletedBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
@@ -1189,9 +1075,7 @@
|
||||
"uniqueConstraints": {
|
||||
"card_comments_publicId_unique": {
|
||||
"name": "card_comments_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1253,13 +1137,9 @@
|
||||
"feedback_createdBy_user_id_fk": {
|
||||
"name": "feedback_createdBy_user_id_fk",
|
||||
"tableFrom": "feedback",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
@@ -1319,13 +1199,9 @@
|
||||
"import_createdBy_user_id_fk": {
|
||||
"name": "import_createdBy_user_id_fk",
|
||||
"tableFrom": "import",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
@@ -1334,9 +1210,7 @@
|
||||
"uniqueConstraints": {
|
||||
"import_publicId_unique": {
|
||||
"name": "import_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1421,52 +1295,36 @@
|
||||
"label_createdBy_user_id_fk": {
|
||||
"name": "label_createdBy_user_id_fk",
|
||||
"tableFrom": "label",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"label_boardId_board_id_fk": {
|
||||
"name": "label_boardId_board_id_fk",
|
||||
"tableFrom": "label",
|
||||
"columnsFrom": [
|
||||
"boardId"
|
||||
],
|
||||
"columnsFrom": ["boardId"],
|
||||
"tableTo": "board",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"label_importId_import_id_fk": {
|
||||
"name": "label_importId_import_id_fk",
|
||||
"tableFrom": "label",
|
||||
"columnsFrom": [
|
||||
"importId"
|
||||
],
|
||||
"columnsFrom": ["importId"],
|
||||
"tableTo": "import",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "no action"
|
||||
},
|
||||
"label_deletedBy_user_id_fk": {
|
||||
"name": "label_deletedBy_user_id_fk",
|
||||
"tableFrom": "label",
|
||||
"columnsFrom": [
|
||||
"deletedBy"
|
||||
],
|
||||
"columnsFrom": ["deletedBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
@@ -1475,9 +1333,7 @@
|
||||
"uniqueConstraints": {
|
||||
"label_publicId_unique": {
|
||||
"name": "label_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1562,52 +1418,36 @@
|
||||
"list_createdBy_user_id_fk": {
|
||||
"name": "list_createdBy_user_id_fk",
|
||||
"tableFrom": "list",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"list_deletedBy_user_id_fk": {
|
||||
"name": "list_deletedBy_user_id_fk",
|
||||
"tableFrom": "list",
|
||||
"columnsFrom": [
|
||||
"deletedBy"
|
||||
],
|
||||
"columnsFrom": ["deletedBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"list_boardId_board_id_fk": {
|
||||
"name": "list_boardId_board_id_fk",
|
||||
"tableFrom": "list",
|
||||
"columnsFrom": [
|
||||
"boardId"
|
||||
],
|
||||
"columnsFrom": ["boardId"],
|
||||
"tableTo": "board",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"list_importId_import_id_fk": {
|
||||
"name": "list_importId_import_id_fk",
|
||||
"tableFrom": "list",
|
||||
"columnsFrom": [
|
||||
"importId"
|
||||
],
|
||||
"columnsFrom": ["importId"],
|
||||
"tableTo": "import",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "no action"
|
||||
}
|
||||
@@ -1616,9 +1456,7 @@
|
||||
"uniqueConstraints": {
|
||||
"list_publicId_unique": {
|
||||
"name": "list_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1688,9 +1526,7 @@
|
||||
"uniqueConstraints": {
|
||||
"user_email_unique": {
|
||||
"name": "user_email_unique",
|
||||
"columns": [
|
||||
"email"
|
||||
],
|
||||
"columns": ["email"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1722,9 +1558,7 @@
|
||||
"uniqueConstraints": {
|
||||
"workspace_slugs_slug_unique": {
|
||||
"name": "workspace_slugs_slug_unique",
|
||||
"columns": [
|
||||
"slug"
|
||||
],
|
||||
"columns": ["slug"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1818,39 +1652,27 @@
|
||||
"workspace_members_userId_user_id_fk": {
|
||||
"name": "workspace_members_userId_user_id_fk",
|
||||
"tableFrom": "workspace_members",
|
||||
"columnsFrom": [
|
||||
"userId"
|
||||
],
|
||||
"columnsFrom": ["userId"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"workspace_members_workspaceId_workspace_id_fk": {
|
||||
"name": "workspace_members_workspaceId_workspace_id_fk",
|
||||
"tableFrom": "workspace_members",
|
||||
"columnsFrom": [
|
||||
"workspaceId"
|
||||
],
|
||||
"columnsFrom": ["workspaceId"],
|
||||
"tableTo": "workspace",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "cascade"
|
||||
},
|
||||
"workspace_members_deletedBy_user_id_fk": {
|
||||
"name": "workspace_members_deletedBy_user_id_fk",
|
||||
"tableFrom": "workspace_members",
|
||||
"columnsFrom": [
|
||||
"deletedBy"
|
||||
],
|
||||
"columnsFrom": ["deletedBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
@@ -1859,9 +1681,7 @@
|
||||
"uniqueConstraints": {
|
||||
"workspace_members_publicId_unique": {
|
||||
"name": "workspace_members_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1948,26 +1768,18 @@
|
||||
"workspace_createdBy_user_id_fk": {
|
||||
"name": "workspace_createdBy_user_id_fk",
|
||||
"tableFrom": "workspace",
|
||||
"columnsFrom": [
|
||||
"createdBy"
|
||||
],
|
||||
"columnsFrom": ["createdBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
},
|
||||
"workspace_deletedBy_user_id_fk": {
|
||||
"name": "workspace_deletedBy_user_id_fk",
|
||||
"tableFrom": "workspace",
|
||||
"columnsFrom": [
|
||||
"deletedBy"
|
||||
],
|
||||
"columnsFrom": ["deletedBy"],
|
||||
"tableTo": "user",
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"columnsTo": ["id"],
|
||||
"onUpdate": "no action",
|
||||
"onDelete": "set null"
|
||||
}
|
||||
@@ -1976,16 +1788,12 @@
|
||||
"uniqueConstraints": {
|
||||
"workspace_publicId_unique": {
|
||||
"name": "workspace_publicId_unique",
|
||||
"columns": [
|
||||
"publicId"
|
||||
],
|
||||
"columns": ["publicId"],
|
||||
"nullsNotDistinct": false
|
||||
},
|
||||
"workspace_slug_unique": {
|
||||
"name": "workspace_slug_unique",
|
||||
"columns": [
|
||||
"slug"
|
||||
],
|
||||
"columns": ["slug"],
|
||||
"nullsNotDistinct": false
|
||||
}
|
||||
},
|
||||
@@ -1998,10 +1806,7 @@
|
||||
"public.board_visibility": {
|
||||
"name": "board_visibility",
|
||||
"schema": "public",
|
||||
"values": [
|
||||
"private",
|
||||
"public"
|
||||
]
|
||||
"values": ["private", "public"]
|
||||
},
|
||||
"public.card_activity_type": {
|
||||
"name": "card_activity_type",
|
||||
@@ -2025,53 +1830,32 @@
|
||||
"public.source": {
|
||||
"name": "source",
|
||||
"schema": "public",
|
||||
"values": [
|
||||
"trello"
|
||||
]
|
||||
"values": ["trello"]
|
||||
},
|
||||
"public.status": {
|
||||
"name": "status",
|
||||
"schema": "public",
|
||||
"values": [
|
||||
"started",
|
||||
"success",
|
||||
"failed"
|
||||
]
|
||||
"values": ["started", "success", "failed"]
|
||||
},
|
||||
"public.role": {
|
||||
"name": "role",
|
||||
"schema": "public",
|
||||
"values": [
|
||||
"admin",
|
||||
"member",
|
||||
"guest"
|
||||
]
|
||||
"values": ["admin", "member", "guest"]
|
||||
},
|
||||
"public.member_status": {
|
||||
"name": "member_status",
|
||||
"schema": "public",
|
||||
"values": [
|
||||
"invited",
|
||||
"active",
|
||||
"removed"
|
||||
]
|
||||
"values": ["invited", "active", "removed"]
|
||||
},
|
||||
"public.slug_type": {
|
||||
"name": "slug_type",
|
||||
"schema": "public",
|
||||
"values": [
|
||||
"reserved",
|
||||
"premium"
|
||||
]
|
||||
"values": ["reserved", "premium"]
|
||||
},
|
||||
"public.workspace_plan": {
|
||||
"name": "workspace_plan",
|
||||
"schema": "public",
|
||||
"values": [
|
||||
"free",
|
||||
"pro",
|
||||
"enterprise"
|
||||
]
|
||||
"values": ["free", "pro", "enterprise"]
|
||||
}
|
||||
},
|
||||
"schemas": {},
|
||||
@@ -2084,4 +1868,4 @@
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2415
packages/db/migrations/meta/20250715123447_snapshot.json
Normal file
2415
packages/db/migrations/meta/20250715123447_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -50,6 +50,13 @@
|
||||
"when": 1749585889984,
|
||||
"tag": "20250610200449_ReaddIntegrationTable",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 7,
|
||||
"version": "7",
|
||||
"when": 1752582887553,
|
||||
"tag": "20250715123447_AddCardChecklists",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
varchar,
|
||||
} from "drizzle-orm/pg-core";
|
||||
|
||||
import { checklists } from "./checklists";
|
||||
import { imports } from "./imports";
|
||||
import { labels } from "./labels";
|
||||
import { lists } from "./lists";
|
||||
@@ -84,6 +85,7 @@ export const cardsRelations = relations(cards, ({ one, many }) => ({
|
||||
}),
|
||||
comments: many(comments),
|
||||
activities: many(cardActivities),
|
||||
checklists: many(checklists),
|
||||
}));
|
||||
|
||||
export const cardActivities = pgTable("card_activity", {
|
||||
|
||||
90
packages/db/src/schema/checklists.ts
Normal file
90
packages/db/src/schema/checklists.ts
Normal file
@@ -0,0 +1,90 @@
|
||||
import { relations } from "drizzle-orm";
|
||||
import {
|
||||
bigint,
|
||||
bigserial,
|
||||
boolean,
|
||||
integer,
|
||||
pgTable,
|
||||
timestamp,
|
||||
uuid,
|
||||
varchar,
|
||||
} from "drizzle-orm/pg-core";
|
||||
|
||||
import { cards } from "./cards";
|
||||
import { users } from "./users";
|
||||
|
||||
export const checklists = pgTable("card_checklist", {
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
publicId: varchar("publicId", { length: 12 }).notNull().unique(),
|
||||
title: varchar("title", { length: 255 }).notNull(),
|
||||
index: integer("index").notNull(),
|
||||
cardId: bigint("cardId", { mode: "number" })
|
||||
.notNull()
|
||||
.references(() => cards.id, { onDelete: "cascade" }),
|
||||
createdBy: uuid("createdBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
updatedAt: timestamp("updatedAt"),
|
||||
deletedAt: timestamp("deletedAt"),
|
||||
deletedBy: uuid("deletedBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
}).enableRLS();
|
||||
|
||||
export const checklistsRelations = relations(checklists, ({ one, many }) => ({
|
||||
card: one(cards, {
|
||||
fields: [checklists.cardId],
|
||||
references: [cards.id],
|
||||
relationName: "checklistsCard",
|
||||
}),
|
||||
createdBy: one(users, {
|
||||
fields: [checklists.createdBy],
|
||||
references: [users.id],
|
||||
relationName: "checklistsCreatedByUser",
|
||||
}),
|
||||
deletedBy: one(users, {
|
||||
fields: [checklists.deletedBy],
|
||||
references: [users.id],
|
||||
relationName: "checklistsDeletedByUser",
|
||||
}),
|
||||
items: many(checklistItems),
|
||||
}));
|
||||
|
||||
export const checklistItems = pgTable("card_checklist_item", {
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
publicId: varchar("publicId", { length: 12 }).notNull().unique(),
|
||||
title: varchar("title", { length: 500 }).notNull(),
|
||||
completed: boolean("completed").notNull().default(false),
|
||||
index: integer("index").notNull(),
|
||||
checklistId: bigint("checklistId", { mode: "number" })
|
||||
.notNull()
|
||||
.references(() => checklists.id, { onDelete: "cascade" }),
|
||||
createdBy: uuid("createdBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
updatedAt: timestamp("updatedAt"),
|
||||
deletedAt: timestamp("deletedAt"),
|
||||
deletedBy: uuid("deletedBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
}).enableRLS();
|
||||
|
||||
export const checklistItemsRelations = relations(checklistItems, ({ one }) => ({
|
||||
checklist: one(checklists, {
|
||||
fields: [checklistItems.checklistId],
|
||||
references: [checklists.id],
|
||||
relationName: "checklistItemsChecklist",
|
||||
}),
|
||||
createdBy: one(users, {
|
||||
fields: [checklistItems.createdBy],
|
||||
references: [users.id],
|
||||
relationName: "checklistItemsCreatedByUser",
|
||||
}),
|
||||
deletedBy: one(users, {
|
||||
fields: [checklistItems.deletedBy],
|
||||
references: [users.id],
|
||||
relationName: "checklistItemsDeletedByUser",
|
||||
}),
|
||||
}));
|
||||
@@ -2,6 +2,7 @@ export * from "./auth";
|
||||
export * from "./boards";
|
||||
export * from "./auth";
|
||||
export * from "./cards";
|
||||
export * from "./checklists";
|
||||
export * from "./feedback";
|
||||
export * from "./imports";
|
||||
export * from "./labels";
|
||||
|
||||
Reference in New Issue
Block a user