Merge branch 'dev-0.2.1' into dev-0.2

# Conflicts:
#	generated/prisma/internal/class.ts
#	generated/prisma/internal/prismaNamespace.ts
#	generated/prisma/internal/prismaNamespaceBrowser.ts
#	generated/prisma/models/BoardColumn.ts
#	generated/prisma/models/Project.ts
#	generated/prisma/models/ProjectMember.ts
#	generated/prisma/models/Task.ts
#	generated/prisma/models/TaskMember.ts
#	generated/prisma/models/TaskTag.ts
#	generated/prisma/models/User.ts
#	server/routes/projects.js
#	server/routes/tasks.js
#	src/api/task.js
This commit is contained in:
jif2.zhang
2026-10-26 20:46:25 +08:00
95 changed files with 8694 additions and 1609 deletions
+23 -6
View File
@@ -9,7 +9,7 @@ generator client {
}
datasource db {
provider = "mysql"
provider = "postgresql"
}
model User {
@@ -388,6 +388,8 @@ model CheckListTemplate {
model Project {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑, 见 docs/V0.2/离线编辑模块)
code String @unique @db.VarChar(8) // 项目短编号: 用户自拟 2~8 位前缀, 全局唯一, 服务端分配
name String @db.VarChar(50)
ownerId Int
owner User @relation("ProjectOwner", fields: [ownerId], references: [id], onDelete: Cascade)
@@ -409,8 +411,10 @@ model Project {
}
model ProjectMember {
id Int @id @default(autoincrement())
projectId Int
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
userId Int
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@ -423,6 +427,8 @@ model ProjectMember {
model BoardColumn {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectUuid String? @db.VarChar(36) // projectId 的 uuid 镜像 (触发器维护, 库级 NOT NULL; Prisma 侧可空以便触发器填充)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
name String @db.VarChar(20)
@@ -440,6 +446,10 @@ model BoardColumn {
model Task {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
columnUuid String? @db.VarChar(36)
parentUuid String? @db.VarChar(36)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
columnId Int
@@ -471,6 +481,9 @@ model Task {
members TaskMember[]
tags TaskTag[]
number Int? // 项目内自增编号 (服务端分配, 展示为 `code-number`); 本地未定号的离线新建任务为空
@@unique([projectId, number])
@@index([projectId, columnId])
@@index([projectId, status])
@@index([parentId])
@@ -480,7 +493,9 @@ model Task {
}
model TaskMember {
id Int @id @default(autoincrement())
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
taskUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
taskId Int
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
userId Int
@@ -490,8 +505,10 @@ model TaskMember {
}
model TaskTag {
id Int @id @default(autoincrement())
taskId Int
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
taskUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
taskId Int
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
name String @db.VarChar(20)