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
+42 -1
View File
@@ -41,6 +41,7 @@ export type ProjectMemberSumAggregateOutputType = {
export type ProjectMemberMinAggregateOutputType = {
id: number | null
uuid: string | null
projectUuid: string | null
projectId: number | null
userId: number | null
permission: string | null
@@ -50,6 +51,7 @@ export type ProjectMemberMinAggregateOutputType = {
export type ProjectMemberMaxAggregateOutputType = {
id: number | null
uuid: string | null
projectUuid: string | null
projectId: number | null
userId: number | null
permission: string | null
@@ -59,6 +61,7 @@ export type ProjectMemberMaxAggregateOutputType = {
export type ProjectMemberCountAggregateOutputType = {
id: number
uuid: number
projectUuid: number
projectId: number
userId: number
permission: number
@@ -82,6 +85,7 @@ export type ProjectMemberSumAggregateInputType = {
export type ProjectMemberMinAggregateInputType = {
id?: true
uuid?: true
projectUuid?: true
projectId?: true
userId?: true
permission?: true
@@ -91,6 +95,7 @@ export type ProjectMemberMinAggregateInputType = {
export type ProjectMemberMaxAggregateInputType = {
id?: true
uuid?: true
projectUuid?: true
projectId?: true
userId?: true
permission?: true
@@ -100,6 +105,7 @@ export type ProjectMemberMaxAggregateInputType = {
export type ProjectMemberCountAggregateInputType = {
id?: true
uuid?: true
projectUuid?: true
projectId?: true
userId?: true
permission?: true
@@ -196,6 +202,7 @@ export type ProjectMemberGroupByArgs<ExtArgs extends runtime.Types.Extensions.In
export type ProjectMemberGroupByOutputType = {
id: number
uuid: string
projectUuid: string
projectId: number
userId: number
permission: string
@@ -228,6 +235,7 @@ export type ProjectMemberWhereInput = {
NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
id?: Prisma.IntFilter<"ProjectMember"> | number
uuid?: Prisma.StringFilter<"ProjectMember"> | string
projectUuid?: Prisma.StringFilter<"ProjectMember"> | string
projectId?: Prisma.IntFilter<"ProjectMember"> | number
userId?: Prisma.IntFilter<"ProjectMember"> | number
permission?: Prisma.StringFilter<"ProjectMember"> | string
@@ -239,6 +247,7 @@ export type ProjectMemberWhereInput = {
export type ProjectMemberOrderByWithRelationInput = {
id?: Prisma.SortOrder
uuid?: Prisma.SortOrder
projectUuid?: Prisma.SortOrder
projectId?: Prisma.SortOrder
userId?: Prisma.SortOrder
permission?: Prisma.SortOrder
@@ -254,6 +263,7 @@ export type ProjectMemberWhereUniqueInput = Prisma.AtLeast<{
AND?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
OR?: Prisma.ProjectMemberWhereInput[]
NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
projectUuid?: Prisma.StringFilter<"ProjectMember"> | string
projectId?: Prisma.IntFilter<"ProjectMember"> | number
userId?: Prisma.IntFilter<"ProjectMember"> | number
permission?: Prisma.StringFilter<"ProjectMember"> | string
@@ -265,6 +275,7 @@ export type ProjectMemberWhereUniqueInput = Prisma.AtLeast<{
export type ProjectMemberOrderByWithAggregationInput = {
id?: Prisma.SortOrder
uuid?: Prisma.SortOrder
projectUuid?: Prisma.SortOrder
projectId?: Prisma.SortOrder
userId?: Prisma.SortOrder
permission?: Prisma.SortOrder
@@ -282,6 +293,7 @@ export type ProjectMemberScalarWhereWithAggregatesInput = {
NOT?: Prisma.ProjectMemberScalarWhereWithAggregatesInput | Prisma.ProjectMemberScalarWhereWithAggregatesInput[]
id?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
uuid?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string
projectUuid?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string
projectId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
userId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
permission?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string
@@ -290,6 +302,7 @@ export type ProjectMemberScalarWhereWithAggregatesInput = {
export type ProjectMemberCreateInput = {
uuid: string
projectUuid: string
permission?: string
createdAt?: Date | string
project: Prisma.ProjectCreateNestedOneWithoutMembersInput
@@ -299,6 +312,7 @@ export type ProjectMemberCreateInput = {
export type ProjectMemberUncheckedCreateInput = {
id?: number
uuid: string
projectUuid: string
projectId: number
userId: number
permission?: string
@@ -307,6 +321,7 @@ export type ProjectMemberUncheckedCreateInput = {
export type ProjectMemberUpdateInput = {
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput
@@ -316,6 +331,7 @@ export type ProjectMemberUpdateInput = {
export type ProjectMemberUncheckedUpdateInput = {
id?: Prisma.IntFieldUpdateOperationsInput | number
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
projectId?: Prisma.IntFieldUpdateOperationsInput | number
userId?: Prisma.IntFieldUpdateOperationsInput | number
permission?: Prisma.StringFieldUpdateOperationsInput | string
@@ -325,6 +341,7 @@ export type ProjectMemberUncheckedUpdateInput = {
export type ProjectMemberCreateManyInput = {
id?: number
uuid: string
projectUuid: string
projectId: number
userId: number
permission?: string
@@ -333,6 +350,7 @@ export type ProjectMemberCreateManyInput = {
export type ProjectMemberUpdateManyMutationInput = {
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -340,6 +358,7 @@ export type ProjectMemberUpdateManyMutationInput = {
export type ProjectMemberUncheckedUpdateManyInput = {
id?: Prisma.IntFieldUpdateOperationsInput | number
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
projectId?: Prisma.IntFieldUpdateOperationsInput | number
userId?: Prisma.IntFieldUpdateOperationsInput | number
permission?: Prisma.StringFieldUpdateOperationsInput | string
@@ -364,6 +383,7 @@ export type ProjectMemberProjectIdUserIdCompoundUniqueInput = {
export type ProjectMemberCountOrderByAggregateInput = {
id?: Prisma.SortOrder
uuid?: Prisma.SortOrder
projectUuid?: Prisma.SortOrder
projectId?: Prisma.SortOrder
userId?: Prisma.SortOrder
permission?: Prisma.SortOrder
@@ -379,6 +399,7 @@ export type ProjectMemberAvgOrderByAggregateInput = {
export type ProjectMemberMaxOrderByAggregateInput = {
id?: Prisma.SortOrder
uuid?: Prisma.SortOrder
projectUuid?: Prisma.SortOrder
projectId?: Prisma.SortOrder
userId?: Prisma.SortOrder
permission?: Prisma.SortOrder
@@ -388,6 +409,7 @@ export type ProjectMemberMaxOrderByAggregateInput = {
export type ProjectMemberMinOrderByAggregateInput = {
id?: Prisma.SortOrder
uuid?: Prisma.SortOrder
projectUuid?: Prisma.SortOrder
projectId?: Prisma.SortOrder
userId?: Prisma.SortOrder
permission?: Prisma.SortOrder
@@ -486,6 +508,7 @@ export type ProjectMemberUncheckedUpdateManyWithoutProjectNestedInput = {
export type ProjectMemberCreateWithoutUserInput = {
uuid: string
projectUuid: string
permission?: string
createdAt?: Date | string
project: Prisma.ProjectCreateNestedOneWithoutMembersInput
@@ -494,6 +517,7 @@ export type ProjectMemberCreateWithoutUserInput = {
export type ProjectMemberUncheckedCreateWithoutUserInput = {
id?: number
uuid: string
projectUuid: string
projectId: number
permission?: string
createdAt?: Date | string
@@ -531,6 +555,7 @@ export type ProjectMemberScalarWhereInput = {
NOT?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[]
id?: Prisma.IntFilter<"ProjectMember"> | number
uuid?: Prisma.StringFilter<"ProjectMember"> | string
projectUuid?: Prisma.StringFilter<"ProjectMember"> | string
projectId?: Prisma.IntFilter<"ProjectMember"> | number
userId?: Prisma.IntFilter<"ProjectMember"> | number
permission?: Prisma.StringFilter<"ProjectMember"> | string
@@ -539,6 +564,7 @@ export type ProjectMemberScalarWhereInput = {
export type ProjectMemberCreateWithoutProjectInput = {
uuid: string
projectUuid: string
permission?: string
createdAt?: Date | string
user: Prisma.UserCreateNestedOneWithoutProjectMembersInput
@@ -547,6 +573,7 @@ export type ProjectMemberCreateWithoutProjectInput = {
export type ProjectMemberUncheckedCreateWithoutProjectInput = {
id?: number
uuid: string
projectUuid: string
userId: number
permission?: string
createdAt?: Date | string
@@ -581,6 +608,7 @@ export type ProjectMemberUpdateManyWithWhereWithoutProjectInput = {
export type ProjectMemberCreateManyUserInput = {
id?: number
uuid: string
projectUuid: string
projectId: number
permission?: string
createdAt?: Date | string
@@ -588,6 +616,7 @@ export type ProjectMemberCreateManyUserInput = {
export type ProjectMemberUpdateWithoutUserInput = {
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput
@@ -596,6 +625,7 @@ export type ProjectMemberUpdateWithoutUserInput = {
export type ProjectMemberUncheckedUpdateWithoutUserInput = {
id?: Prisma.IntFieldUpdateOperationsInput | number
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
projectId?: Prisma.IntFieldUpdateOperationsInput | number
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -604,6 +634,7 @@ export type ProjectMemberUncheckedUpdateWithoutUserInput = {
export type ProjectMemberUncheckedUpdateManyWithoutUserInput = {
id?: Prisma.IntFieldUpdateOperationsInput | number
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
projectId?: Prisma.IntFieldUpdateOperationsInput | number
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -612,6 +643,7 @@ export type ProjectMemberUncheckedUpdateManyWithoutUserInput = {
export type ProjectMemberCreateManyProjectInput = {
id?: number
uuid: string
projectUuid: string
userId: number
permission?: string
createdAt?: Date | string
@@ -619,6 +651,7 @@ export type ProjectMemberCreateManyProjectInput = {
export type ProjectMemberUpdateWithoutProjectInput = {
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
user?: Prisma.UserUpdateOneRequiredWithoutProjectMembersNestedInput
@@ -627,6 +660,7 @@ export type ProjectMemberUpdateWithoutProjectInput = {
export type ProjectMemberUncheckedUpdateWithoutProjectInput = {
id?: Prisma.IntFieldUpdateOperationsInput | number
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
userId?: Prisma.IntFieldUpdateOperationsInput | number
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -635,6 +669,7 @@ export type ProjectMemberUncheckedUpdateWithoutProjectInput = {
export type ProjectMemberUncheckedUpdateManyWithoutProjectInput = {
id?: Prisma.IntFieldUpdateOperationsInput | number
uuid?: Prisma.StringFieldUpdateOperationsInput | string
projectUuid?: Prisma.StringFieldUpdateOperationsInput | string
userId?: Prisma.IntFieldUpdateOperationsInput | number
permission?: Prisma.StringFieldUpdateOperationsInput | string
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -645,6 +680,7 @@ export type ProjectMemberUncheckedUpdateManyWithoutProjectInput = {
export type ProjectMemberSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean
uuid?: boolean
projectUuid?: boolean
projectId?: boolean
userId?: boolean
permission?: boolean
@@ -656,6 +692,7 @@ export type ProjectMemberSelect<ExtArgs extends runtime.Types.Extensions.Interna
export type ProjectMemberSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean
uuid?: boolean
projectUuid?: boolean
projectId?: boolean
userId?: boolean
permission?: boolean
@@ -667,6 +704,7 @@ export type ProjectMemberSelectCreateManyAndReturn<ExtArgs extends runtime.Types
export type ProjectMemberSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean
uuid?: boolean
projectUuid?: boolean
projectId?: boolean
userId?: boolean
permission?: boolean
@@ -678,13 +716,14 @@ export type ProjectMemberSelectUpdateManyAndReturn<ExtArgs extends runtime.Types
export type ProjectMemberSelectScalar = {
id?: boolean
uuid?: boolean
projectUuid?: boolean
projectId?: boolean
userId?: boolean
permission?: boolean
createdAt?: boolean
}
export type ProjectMemberOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "projectId" | "userId" | "permission" | "createdAt", ExtArgs["result"]["projectMember"]>
export type ProjectMemberOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "projectUuid" | "projectId" | "userId" | "permission" | "createdAt", ExtArgs["result"]["projectMember"]>
export type ProjectMemberInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
@@ -707,6 +746,7 @@ export type $ProjectMemberPayload<ExtArgs extends runtime.Types.Extensions.Inter
scalars: runtime.Types.Extensions.GetPayloadResult<{
id: number
uuid: string
projectUuid: string
projectId: number
userId: number
permission: string
@@ -1138,6 +1178,7 @@ export interface Prisma__ProjectMemberClient<T, Null = never, ExtArgs extends ru
export interface ProjectMemberFieldRefs {
readonly id: Prisma.FieldRef<"ProjectMember", 'Int'>
readonly uuid: Prisma.FieldRef<"ProjectMember", 'String'>
readonly projectUuid: Prisma.FieldRef<"ProjectMember", 'String'>
readonly projectId: Prisma.FieldRef<"ProjectMember", 'Int'>
readonly userId: Prisma.FieldRef<"ProjectMember", 'Int'>
readonly permission: Prisma.FieldRef<"ProjectMember", 'String'>