This commit is contained in:
freedakgmail
2025-11-24 14:02:34 +08:00
parent b7a8c9ee6e
commit 3d075c6076
941 changed files with 25613 additions and 27641 deletions
@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "FamilyMember" ADD COLUMN "isFounder" BOOLEAN NOT NULL DEFAULT false;
@@ -0,0 +1,26 @@
-- CreateTable
CREATE TABLE "MemberHistory" (
"id" TEXT NOT NULL,
"memberId" TEXT NOT NULL,
"treeId" TEXT NOT NULL,
"version" INTEGER NOT NULL,
"snapshot" JSONB NOT NULL,
"changedBy" TEXT NOT NULL,
"changedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"changeType" "Action" NOT NULL,
"changes" JSONB,
CONSTRAINT "MemberHistory_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "MemberHistory_memberId_idx" ON "MemberHistory"("memberId");
-- CreateIndex
CREATE INDEX "MemberHistory_treeId_idx" ON "MemberHistory"("treeId");
-- CreateIndex
CREATE INDEX "MemberHistory_changedAt_idx" ON "MemberHistory"("changedAt");
-- CreateIndex
CREATE UNIQUE INDEX "MemberHistory_memberId_version_key" ON "MemberHistory"("memberId", "version");
+2 -2
View File
@@ -1,3 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (e.g., Git)
provider = "postgresql"
# It should be added in your version-control system (i.e. Git)
provider = "postgresql"
+23
View File
@@ -88,6 +88,7 @@ model FamilyMember {
artName String?
posthumousName String?
rank Int?
isFounder Boolean @default(false)
// 日期
birthDate String?
@@ -174,3 +175,25 @@ enum EntityType {
STORY
SETTINGS
}
// 成员历史版本表
model MemberHistory {
id String @id @default(cuid())
memberId String
treeId String
version Int // 版本号
// 保存成员的完整快照
snapshot Json // 成员的所有字段
// 变更信息
changedBy String // 修改者ID
changedAt DateTime @default(now())
changeType Action // CREATE, UPDATE, DELETE
changes Json? // 具体变更的字段 { field: { old: ..., new: ... } }
@@index([memberId])
@@index([treeId])
@@index([changedAt])
@@unique([memberId, version])
}
+4 -2
View File
@@ -59,12 +59,13 @@ async function main() {
gender: 'MALE',
generation: 1,
generationName: '德',
isFounder: true,
birthDate: '1880-03-15',
deathDate: '1955-08-20',
ancestralHome: '山东省济南市',
birthPlace: '山东省济南市历城区',
bio: '王氏家族始祖,清末秀才,以教书为业。',
tags: ['始祖', '教书先生'],
tags: ['教书先生'],
},
})
@@ -739,12 +740,13 @@ async function main() {
gender: 'MALE',
generation: 1,
generationName: '文',
isFounder: true,
birthDate: '1885-07-08',
deathDate: '1960-11-15',
ancestralHome: '浙江省杭州市',
birthPlace: '浙江省杭州市西湖区',
bio: '虞氏家族始祖,清末举人,民国时期从商。',
tags: ['始祖', '商人'],
tags: ['商人'],
},
})