feat(0.2.1): M1 数据库迁移 PostgreSQL —— schema 切 pg, 任务域六表加 uuid, 项目 code/任务 number, db.js 切 adapter-pg, 重建 PG 基线迁移; 附实施方案文档

This commit is contained in:
jif2.zhang
2026-10-25 23:38:54 +08:00
parent 1cd5b85a4b
commit 61d3028909
61 changed files with 17254 additions and 1354 deletions
+11 -1
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,6 +411,7 @@ model Project {
model ProjectMember {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
userId Int
@@ -422,6 +425,7 @@ model ProjectMember {
model BoardColumn {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
name String @db.VarChar(20)
@@ -439,6 +443,7 @@ model BoardColumn {
model Task {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
projectId Int
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
columnId Int
@@ -467,6 +472,9 @@ model Task {
members TaskMember[]
tags TaskTag[]
number Int? // 项目内自增编号 (服务端分配, 展示为 `code-number`); 本地未定号的离线新建任务为空
@@unique([projectId, number])
@@index([projectId, columnId])
@@index([projectId, status])
@@index([parentId])
@@ -475,6 +483,7 @@ model Task {
model TaskMember {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
taskId Int
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
userId Int
@@ -485,6 +494,7 @@ model TaskMember {
model TaskTag {
id Int @id @default(autoincrement())
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
taskId Int
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
name String @db.VarChar(20)