feat(0.2.1): Sequential ID Mapping —— 外键 uuid 镜像列+触发器, 同步流改 uuid 主键 (离线行回填后本地 id 稳定), 客户端零改动

This commit is contained in:
jif2.zhang
2026-10-26 01:21:40 +08:00
parent 9caaa303e5
commit aca8a05c0f
11 changed files with 509 additions and 22 deletions
+11 -4
View File
@@ -412,6 +412,7 @@ model Project {
model ProjectMember {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectUuid String @db.VarChar(36) // 外键 uuid 镜像 (触发器维护)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
userId Int
@@ -426,6 +427,7 @@ 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 镜像 (触发器维护, 同步流输出用)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
name String @db.VarChar(20)
@@ -444,6 +446,9 @@ model BoardColumn {
model Task {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectUuid String @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 同步流输出用)
columnUuid String @db.VarChar(36)
parentUuid String? @db.VarChar(36)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
columnId Int
@@ -482,8 +487,9 @@ model Task {
}
model TaskMember {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
taskUuid String @db.VarChar(36) // 外键 uuid 镜像 (触发器维护)
taskId Int
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
userId Int
@@ -493,8 +499,9 @@ model TaskMember {
}
model TaskTag {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
taskUuid String @db.VarChar(36) // 外键 uuid 镜像 (触发器维护)
taskId Int
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
name String @db.VarChar(20)