Files
nestjs-admin/server/prisma/schema.prisma
2024-10-26 16:47:07 +08:00

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