feat: 支持教学案例展示功能
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
CREATE TABLE `TeachingCase` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`title` VARCHAR(80) NOT NULL,
|
||||
`displayName` VARCHAR(30) NOT NULL,
|
||||
`lessonCount` INTEGER NOT NULL,
|
||||
`background` VARCHAR(500) NOT NULL,
|
||||
`achievement` VARCHAR(1000) NOT NULL,
|
||||
`frames` JSON NOT NULL,
|
||||
`sortOrder` INTEGER NOT NULL DEFAULT 0,
|
||||
`published` BOOLEAN NOT NULL DEFAULT false,
|
||||
`consentConfirmed` BOOLEAN NOT NULL DEFAULT false,
|
||||
`consentNote` VARCHAR(500) NOT NULL,
|
||||
`consentedAt` DATETIME(3) NULL,
|
||||
`version` INTEGER NOT NULL DEFAULT 1,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
INDEX `TeachingCase_published_sortOrder_createdAt_idx` (`published`, `sortOrder`, `createdAt`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE TABLE `TeachingCaseAsset` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`objectKey` VARCHAR(255) NOT NULL,
|
||||
`ready` BOOLEAN NOT NULL DEFAULT false,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
UNIQUE INDEX `TeachingCaseAsset_objectKey_key` (`objectKey`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
@@ -691,3 +691,31 @@ model ProductStockChange {
|
||||
@@index([productId, createdAt])
|
||||
@@map("product_stock_changes")
|
||||
}
|
||||
|
||||
// Public teaching stories never reference private ProgressPhoto records.
|
||||
model TeachingCase {
|
||||
id String @id @default(cuid())
|
||||
title String @db.VarChar(80)
|
||||
displayName String @db.VarChar(30)
|
||||
lessonCount Int
|
||||
background String @db.VarChar(500)
|
||||
achievement String @db.VarChar(1000)
|
||||
frames Json
|
||||
sortOrder Int @default(0)
|
||||
published Boolean @default(false)
|
||||
consentConfirmed Boolean @default(false)
|
||||
consentNote String @db.VarChar(500)
|
||||
consentedAt DateTime?
|
||||
version Int @default(1)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([published, sortOrder, createdAt])
|
||||
}
|
||||
|
||||
model TeachingCaseAsset {
|
||||
id String @id @default(cuid())
|
||||
objectKey String @unique @db.VarChar(255)
|
||||
ready Boolean @default(false)
|
||||
createdAt DateTime @default(now())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user