Files
2026-03-04 14:04:55 +08:00

36 lines
1.0 KiB
Plaintext

generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "linux-musl-openssl-3.0.x"]
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model Page {
id String @id @default(uuid())
title String
content String @default("")
tags String @default("[]") // JSON stringified array of tags
icon String? // Emoji or icon name
type String @default("file") // "file" or "folder"
parentId String?
parent Page? @relation("PageHierarchy", fields: [parentId], references: [id])
children Page[] @relation("PageHierarchy")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
order Int @default(0)
isLocked Boolean @default(false)
@@index([parentId, order], map: "idx_page_parent_order")
@@index([createdAt], map: "idx_page_created_at")
}
model GlobalSettings {
id String @id @default("default")
password String // Scrypt hashed password
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}