表结构说明
1. users (用户表)
说明
存储系统用户信息,包括管理员和普通用户。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 用户 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| username | VARCHAR(50) | 用户名 | UNIQUE, NOT NULL |
| VARCHAR(100) | 邮箱 | UNIQUE, NOT NULL | |
| password | VARCHAR(255) | 密码哈希 | NOT NULL |
| nickname | VARCHAR(100) | 昵称 | - |
| avatar | VARCHAR(255) | 头像 URL | - |
| bio | TEXT | 个人简介 | - |
| role | ENUM | 用户角色 | DEFAULT 'user', VALUES('admin', 'user') |
| status | ENUM | 用户状态 | DEFAULT 'active', VALUES('active', 'inactive') |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_username: usernameidx_email: email
2. categories (分类表)
说明
存储文章分类信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 分类 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| name | VARCHAR(100) | 分类名称 | NOT NULL |
| slug | VARCHAR(100) | 分类别名 | UNIQUE, NOT NULL |
| description | TEXT | 分类描述 | - |
| color | VARCHAR(7) | 分类颜色 | DEFAULT '#1890ff' |
| icon | VARCHAR(50) | 分类图标 | DEFAULT 'fa:folder' |
| sort_order | INT | 排序 | DEFAULT 0 |
| status | ENUM | 状态 | DEFAULT 'active', VALUES('active', 'inactive') |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_slug: slugidx_sort: sort_order
3. articles (文章表)
说明
存储博客文章信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 文章 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| title | VARCHAR(200) | 文章标题 | NOT NULL |
| content | LONGTEXT | 文章内容 | - |
| summary | VARCHAR(500) | 文章摘要 | - |
| cover_image | VARCHAR(500) | 封面图片 URL | - |
| view_count | INT | 浏览量 | DEFAULT 0 |
| like_count | INT | 点赞数 | DEFAULT 0 |
| status | ENUM | 发布状态 | DEFAULT 'draft', VALUES('draft', 'published') |
| is_featured | TINYINT(1) | 是否推荐 | DEFAULT 0 |
| allow_comment | TINYINT(1) | 是否允许评论 | DEFAULT 1 |
| author_id | INT | 作者 ID | FOREIGN KEY -> users(id) |
| category_id | INT | 分类 ID | FOREIGN KEY -> categories(id) |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_status: statusidx_featured: is_featuredidx_view_count: view_countidx_created_at: created_atidx_author: author_ididx_category: category_id
4. projects (项目表)
说明
存储项目作品信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 项目 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| title | VARCHAR(200) | 项目标题 | NOT NULL |
| description | TEXT | 项目描述 | - |
| content | LONGTEXT | 项目详情内容 | - |
| status | ENUM | 项目状态 | DEFAULT 'draft', VALUES('draft', 'published') |
| is_featured | TINYINT(1) | 是否特色项目 | DEFAULT 0 |
| category | INT | 项目分类 | NOT NULL |
| technologies | JSON | 技术栈 | - |
| cover_image_id | INT | 封面图片 ID | FOREIGN KEY -> files(id) |
| view_count | INT | 浏览数 | DEFAULT 0 |
| like_count | INT | 点赞数 | DEFAULT 0 |
| demo_url | VARCHAR(255) | 演示地址 | - |
| github_url | VARCHAR(255) | GitHub 地址 | - |
| role | VARCHAR(100) | 岗位角色 | - |
| sort_order | INT | 排序 | DEFAULT 0 |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_category: categoryidx_cover_image: cover_image_ididx_sort_order: sort_orderidx_title_desc: FULLTEXT(title, description)
5. galleries (图库表)
说明
存储图库信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 图库 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| title | VARCHAR(200) | 图库标题 | NOT NULL |
| description | TEXT | 图库描述 | - |
| cover_image | VARCHAR(500) | 封面图片 URL | - |
| view_count | INT | 浏览量 | DEFAULT 0 |
| comment_count | INT | 评论数 | DEFAULT 0 |
| status | ENUM | 发布状态 | DEFAULT 'draft', VALUES('draft', 'published') |
| is_featured | TINYINT(1) | 是否推荐 | DEFAULT 0 |
| sort_order | INT | 排序 | DEFAULT 0 |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_status: statusidx_featured: is_featuredidx_view_count: view_countidx_sort_order: sort_orderidx_created_at: created_at
6. resources (资源表)
说明
存储资源下载信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 资源 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| title | VARCHAR(200) | 资源标题 | NOT NULL |
| description | TEXT | 资源描述 | - |
| content | LONGTEXT | 资源详情内容 | - |
| category_id | INT | 资源分类 ID | FOREIGN KEY -> resource_categories(id) |
| subcategory | VARCHAR(100) | 资源子分类 | - |
| file_id | INT | 文件 ID | FOREIGN KEY -> files(id) |
| cover_image_id | INT | 封面图片 ID | FOREIGN KEY -> files(id) |
| file_type | VARCHAR(50) | 文件类型 | - |
| file_size | BIGINT | 文件大小(字节) | - |
| download_code | VARCHAR(20) | 下载码 | UNIQUE |
| download_count | INT | 下载次数 | DEFAULT 0 |
| view_count | INT | 浏览数 | DEFAULT 0 |
| like_count | INT | 点赞数 | DEFAULT 0 |
| status | ENUM | 发布状态 | DEFAULT 'draft', VALUES('draft', 'published') |
| is_featured | TINYINT(1) | 是否推荐 | DEFAULT 0 |
| sort_order | INT | 排序 | DEFAULT 0 |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_category: category_ididx_file: file_ididx_cover: cover_image_ididx_download_code: download_codeidx_status: statusidx_sort: sort_orderidx_title_desc: FULLTEXT(title, description)
7. skills (技能项表)
说明
存储技能项信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 技能 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| category_id | INT | 分类 ID | FOREIGN KEY -> skill_categories(id), NOT NULL |
| name | VARCHAR(100) | 技能名称 | NOT NULL |
| level | ENUM | 技能等级 | DEFAULT 'intermediate', VALUES('beginner', 'intermediate', 'advanced', 'expert') |
| color | VARCHAR(7) | 技能颜色 | DEFAULT '#1890ff' |
| description | TEXT | 技能描述 | - |
| status | ENUM | 状态 | DEFAULT 'active', VALUES('active', 'inactive') |
| sort_order | INT | 排序 | DEFAULT 0 |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_category: category_ididx_sort: sort_order
8. files (文件管理表)
说明
存储文件信息,支持多种存储方式。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 文件 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| original_name | VARCHAR(255) | 原始文件名 | NOT NULL |
| file_name | VARCHAR(255) | 存储文件名 | NOT NULL |
| file_path | VARCHAR(500) | 文件相对路径 | NOT NULL |
| file_size | BIGINT | 文件大小(字节) | NOT NULL |
| mime_type | VARCHAR(100) | 文件类型 | NOT NULL |
| storage_type | VARCHAR(100) | 存储类型 | DEFAULT 'local' |
| category | VARCHAR(100) | 文件分类 | NOT NULL |
| bucket_name | VARCHAR(100) | 存储桶名称 | - |
| file_hash | VARCHAR(64) | 文件哈希值(SHA-256) | NOT NULL |
| status | ENUM | 文件状态 | DEFAULT 'active', VALUES('active', 'deleted') |
| created_by | INT | 上传用户 ID | FOREIGN KEY -> users(id) |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_category: categoryidx_storage_type: storage_typeidx_created_by: created_byidx_created_at: created_atidx_file_hash: file_hash
9. carousels (轮播图表)
说明
存储首页轮播图信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 轮播图 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| title | VARCHAR(200) | 轮播图标题 | NOT NULL |
| subtitle | VARCHAR(200) | 轮播图副标题 | - |
| description | TEXT | 轮播图描述 | - |
| cover | VARCHAR(500) | 封面图片 URL | NOT NULL |
| show_title | TINYINT(1) | 是否显示标题 | DEFAULT 1 |
| primary_text | VARCHAR(100) | 主要按钮文字 | DEFAULT '了解更多' |
| primary_link | VARCHAR(500) | 主要按钮链接 | - |
| secondary_text | VARCHAR(100) | 次要按钮文字 | DEFAULT '查看详情' |
| secondary_link | VARCHAR(500) | 次要按钮链接 | - |
| sort_order | INT | 排序 | DEFAULT 0 |
| status | ENUM | 状态 | DEFAULT 'active', VALUES('active', 'inactive') |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_status: statusidx_sort_order: sort_orderidx_created_at: created_at
10. wall_messages (留言表)
说明
存储留言信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 留言 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| content | TEXT | 留言内容 | NOT NULL |
| author_name | VARCHAR(100) | 作者名称 | DEFAULT '匿名' |
| author_email | VARCHAR(100) | 作者邮箱 | - |
| author_website | VARCHAR(200) | 作者网站 | - |
| label | VARCHAR(50) | 留言标签 | DEFAULT '留言' |
| bg_color | VARCHAR(50) | 背景颜色 | DEFAULT 'rgba(146, 230, 245, 0.3)' |
| like_count | INT | 点赞数 | DEFAULT 0 |
| comment_count | INT | 评论数 | DEFAULT 0 |
| status | ENUM | 留言状态 | DEFAULT 'pending', VALUES('pending', 'approved', 'rejected') |
| ip_address | VARCHAR(50) | IP 地址 | - |
| user_agent | VARCHAR(500) | 用户代理 | - |
| sort_order | INT | 排序 | DEFAULT 0 |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_status: statusidx_label: labelidx_created_at: created_atidx_sort_order: sort_order
11. settings (系统设置表)
说明
存储系统配置信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 设置 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| group_name | VARCHAR(100) | 设置分组 | NOT NULL |
| key_name | VARCHAR(100) | 设置键 | NOT NULL |
| key_value | TEXT | 设置值 | - |
| description | VARCHAR(255) | 设置描述 | - |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
唯一索引
unique_group_key: (group_name, key_name)
12. skill_categories (技能分类表)
说明
存储技能分类信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 分类 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| name | VARCHAR(100) | 技能分类名称 | NOT NULL |
| icon | VARCHAR(50) | 分类图标 | DEFAULT 'fa:code' |
| description | TEXT | 分类描述 | - |
| color | VARCHAR(7) | 分类颜色 | DEFAULT '#1890ff' |
| status | ENUM | 状态 | DEFAULT 'active', VALUES('active', 'inactive') |
| sort_order | INT | 排序 | DEFAULT 0 |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_sort: sort_order
13. resource_categories (资源分类表)
说明
存储资源分类信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 分类 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| name | VARCHAR(100) | 分类名称 | NOT NULL |
| slug | VARCHAR(100) | 分类别名 | UNIQUE, NOT NULL |
| description | TEXT | 分类描述 | - |
| icon | VARCHAR(50) | 分类图标 | DEFAULT 'fa:folder' |
| color | VARCHAR(7) | 分类颜色 | DEFAULT '#1890ff' |
| sort_order | INT | 排序 | DEFAULT 0 |
| status | ENUM | 状态 | DEFAULT 'active', VALUES('active', 'inactive') |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_slug: slugidx_sort: sort_order
14. gallery_images (图库图片表)
说明
存储图库中的图片信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 图片 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| gallery_id | INT | 所属图库 ID | FOREIGN KEY -> galleries(id), NOT NULL |
| title | VARCHAR(200) | 图片标题 | - |
| description | TEXT | 图片描述 | - |
| file_id | INT | 文件 ID | FOREIGN KEY -> files(id), NOT NULL |
| sort_order | INT | 排序 | DEFAULT 0 |
| status | ENUM | 状态 | DEFAULT 'active', VALUES('active', 'inactive') |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
索引
idx_gallery_id: gallery_ididx_file_id: file_ididx_sort_order: sort_order
15. visit_hourly_statistics (小时级访问统计表)
说明
存储小时级访问统计信息。
字段说明
| 字段名 | 类型 | 说明 | 约束 |
|---|---|---|---|
| id | INT | 统计 ID(主键) | PRIMARY KEY, AUTO_INCREMENT |
| date | DATE | 统计日期 | NOT NULL |
| hour | TINYINT | 小时(0-23) | NOT NULL |
| total_visits | INT | 总访问量 | DEFAULT 0 |
| increment_visits | INT | 增量访问量 | DEFAULT 0 |
| created_at | TIMESTAMP | 创建时间 | DEFAULT CURRENT_TIMESTAMP |
| updated_at | TIMESTAMP | 更新时间 | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
唯一索引
unique_date_hour: (date, hour)
索引
idx_date_hour: (date, hour)idx_hour: hour
外键关系汇总
| 子表 | 外键字段 | 父表 |
|---|---|---|
| articles | author_id | users |
| articles | category_id | categories |
| projects | cover_image_id | files |
| resources | category_id | resource_categories |
| resources | file_id | files |
| resources | cover_image_id | files |
| skills | category_id | skill_categories |
| files | created_by | users |
| gallery_images | gallery_id | galleries |
| gallery_images | file_id | files |
详细字段说明请参考 字段说明。