Files
nestjs-admin/server/prisma/schema.prisma
2024-11-27 15:25:57 +08:00

141 lines
4.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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 = "postgresql"
url = env("DATABASE_URL")
relationMode = "prisma"
}
// 系统用户表
model SysUser {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
name String? /// 用户姓名
account String @unique /// 账户
password String /// 密码
passwordSalt String @map("password_salt") /// 密码盐
status Int @default(0) @db.SmallInt /// 用户状态
avatarId String? @map("avatar_id") /// 用户头像id
avatar File? @relation(fields: [avatarId], references: [id])
gender Int @default(0) @db.SmallInt /// 用户性别 0女 1男 2未知
userRole SysUserRole[]
@@index([avatarId])
@@map("sys_user")
}
// 系统角色表
model SysRole {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
code String @unique
name String
status Int @default(0) @db.SmallInt /// 角色状态
sysRolePermission SysRolePermission[]
sysUserRole SysUserRole[]
@@map("sys_role")
}
// 用户角色关联表
model SysUserRole {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
userId String @map("user_id")
roleId String @map("role_id")
user SysUser @relation(fields: [userId], references: [id], onDelete: Cascade)
role SysRole @relation(fields: [roleId], references: [id], onDelete: Cascade)
@@index([userId])
@@index([roleId])
@@map("sys_user_role")
}
// 文件表
model File {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
name String /// 文件名称
path String
sysUser SysUser[]
@@map("file")
}
// 权限表
model SysPermission {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
type Int
sysRolePermission SysRolePermission[]
sysMenuPermission SysMenuPermission[]
@@map("sys_permission")
}
// 系统菜单表
model SysMenu {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
name String
url String
parentId String? @map("parent_id")
sort Int @default(0)
sysMenuPermission SysMenuPermission[]
@@map("sys_menu")
}
// 菜单权限关联表
model SysMenuPermission {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
menuId String @map("menu_id")
permissionId String @map("permission_id")
menu SysMenu @relation(fields: [menuId], references: [id], onDelete: Cascade)
permission SysPermission @relation(fields: [permissionId], references: [id], onDelete: Cascade)
@@index([menuId])
@@index([permissionId])
@@map("sys_menu_permission")
}
// 角色权限关联表
model SysRolePermission {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
roleId String @map("role_id")
permissionId String @map("permission_id")
role SysRole @relation(fields: [roleId], references: [id], onDelete: Cascade)
permission SysPermission @relation(fields: [permissionId], references: [id], onDelete: Cascade)
@@index([roleId])
@@index([permissionId])
@@map("sys_role_permission")
}
// 系统配置
model SysConfig {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
key String @unique
value String
remark String?
@@map("sys_config")
}