second commit

This commit is contained in:
2025-09-06 08:28:47 +08:00
parent eed68bbd8c
commit 1efcef6e10
86 changed files with 27153 additions and 0 deletions

123
prisma/schema.prisma Normal file
View File

@@ -0,0 +1,123 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
// 用户表
model User {
id String @id @default(cuid())
email String @unique
name String?
avatar String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// 关联关系
templates Template[]
favorites Favorite[]
comments Comment[]
@@map("users")
}
// 提示词模板表
model Template {
id String @id @default(cuid())
title String
description String?
category String
tags String // JSON 格式存储标签数组
role String
task String
context String?
constraints String // JSON 格式存储约束数组
outputFormat String
variables String // JSON 格式存储变量数组
examples String? // JSON 格式存储示例数组
// 元数据
authorId String
author User @relation(fields: [authorId], references: [id], onDelete: Cascade)
isPublic Boolean @default(true)
isFeatured Boolean @default(false)
// 统计信息
usageCount Int @default(0)
rating Float @default(0)
ratingCount Int @default(0)
// 时间戳
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// 关联关系
favorites Favorite[]
comments Comment[]
tests Test[]
@@map("templates")
}
// 收藏表
model Favorite {
id String @id @default(cuid())
userId String
templateId String
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
template Template @relation(fields: [templateId], references: [id], onDelete: Cascade)
@@unique([userId, templateId])
@@map("favorites")
}
// 评论表
model Comment {
id String @id @default(cuid())
content String
rating Int? // 1-5 星评分
userId String
templateId String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
template Template @relation(fields: [templateId], references: [id], onDelete: Cascade)
@@map("comments")
}
// 测试记录表
model Test {
id String @id @default(cuid())
templateId String
input String // JSON 格式存储输入变量
output String? // 测试输出结果
model String // 使用的模型
parameters String // JSON 格式存储模型参数
status String // success, error, pending
duration Int? // 执行时间(毫秒)
createdAt DateTime @default(now())
template Template @relation(fields: [templateId], references: [id], onDelete: Cascade)
@@map("tests")
}
// 系统配置表
model SystemConfig {
id String @id @default(cuid())
key String @unique
value String
type String @default("string") // string, number, boolean, json
@@map("system_configs")
}