From 3bc5c5f1528f8df44c274d0572cc18ce0d3b6dfe Mon Sep 17 00:00:00 2001 From: snowgitea Date: Wed, 29 Apr 2026 10:53:16 +0800 Subject: [PATCH] chore: add backend/prisma/schema.prisma --- backend/prisma/schema.prisma | 66 ++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 backend/prisma/schema.prisma diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma new file mode 100644 index 0000000..d1cc623 --- /dev/null +++ b/backend/prisma/schema.prisma @@ -0,0 +1,66 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions? +// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "sqlite" + url = env("DATABASE_URL") +} + +// 用户表 +model User { + id Int @id @default(autoincrement()) + name String + email String @unique + createdAt DateTime @default(now()) + accounts Account[] + budgets Budget[] + records Record[] +} + +// 账户表 +model Account { + id Int @id @default(autoincrement()) + userId Int + name String // 账户名称(支付宝、微信、银行卡等) + balance Decimal @default(0) // 当前余额 + type String // 账户类型 + color String // 显示颜色 + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + user User @relation(fields: [userId], references: [id]) + records Record[] +} + +// 交易记录表 +model Record { + id Int @id @default(autoincrement()) + userId Int + accountId Int + type String // 'income' | 'expense' + amount Decimal + category String // 消费类别 + description String? // 备注 + date DateTime + createdAt DateTime @default(now()) + user User @relation(fields: [userId], references: [id]) + account Account @relation(fields: [accountId], references: [id]) +} + +// 预算表 +model Budget { + id Int @id @default(autoincrement()) + userId Int + category String // 预算类别 + amount Decimal // 预算金额 + month String // 预算月份(YYYY-MM) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + user User @relation(fields: [userId], references: [id]) +}