创建仓库
This commit is contained in:
65
Go项目实战/01_数据模型建立/Mermaid ER 图.md
Normal file
65
Go项目实战/01_数据模型建立/Mermaid ER 图.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
tags: []
|
||||
date created: 星期日, 十二月 7日 2025, 1:31:36 下午
|
||||
date modified: 星期日, 十二月 7日 2025, 1:32:46 下午
|
||||
---
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
users ||--o{ user_roles : "assigns"
|
||||
roles ||--o{ user_roles : "assigned to"
|
||||
roles ||--o{ role_permissions : "grants"
|
||||
permissions ||--o{ role_permissions : "granted to"
|
||||
|
||||
users {
|
||||
bigint id PK "主键 (BigSerial)"
|
||||
string username "用户名 (唯一)"
|
||||
string password_hash "哈希密码 (Argon2/Bcrypt)"
|
||||
string email "邮箱 (可选,唯一)"
|
||||
string nickname "昵称"
|
||||
string avatar_url "头像URL"
|
||||
text bio "简介"
|
||||
string status "状态 (active/inactive/banned)"
|
||||
timestamptz created_at "创建时间"
|
||||
timestamptz updated_at "更新时间"
|
||||
timestamptz deleted_at "软删除时间"
|
||||
}
|
||||
|
||||
roles {
|
||||
bigint id PK "主键 (BigSerial)"
|
||||
string code "角色代码 (admin/editor/user)"
|
||||
string name "角色名称"
|
||||
text description "角色描述"
|
||||
boolean is_system "系统角色(不可删除)"
|
||||
timestamptz created_at "创建时间"
|
||||
timestamptz updated_at "更新时间"
|
||||
timestamptz deleted_at "软删除时间"
|
||||
}
|
||||
|
||||
permissions {
|
||||
bigint id PK "主键 (BigSerial)"
|
||||
string code "权限代码 (module:action:scope)"
|
||||
string name "权限名称"
|
||||
text description "权限描述"
|
||||
string category "权限分类"
|
||||
timestamptz created_at "创建时间"
|
||||
timestamptz updated_at "更新时间"
|
||||
timestamptz deleted_at "软删除时间"
|
||||
}
|
||||
|
||||
user_roles {
|
||||
bigint id PK "主键 (BigSerial)"
|
||||
bigint user_id FK "用户ID"
|
||||
bigint role_id FK "角色ID"
|
||||
timestamptz created_at "关联时间"
|
||||
timestamptz updated_at "更新时间"
|
||||
}
|
||||
|
||||
role_permissions {
|
||||
bigint id PK "主键 (BigSerial)"
|
||||
bigint role_id FK "角色ID"
|
||||
bigint permission_id FK "权限ID"
|
||||
timestamptz created_at "关联时间"
|
||||
timestamptz updated_at "更新时间"
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user