zlwu d9ea1caae8 提交 1 rok temu
..
oss 0ed820d7ce 提交代码 1 rok temu
后勤管理 0917c7f156 wuzhen 提交 1 rok temu
学工管理-学生信息管理 46bc823bcb 删除xg_student_info相关文件 1 rok temu
学工管理-学生信息管理新版 61f681c339 提交班干部管理 1 rok temu
学工管理-宿舍管理 d9ea1caae8 提交 1 rok temu
学生请假 dc0c69647d 提交 1 rok temu
工作流 ccffeb3eff 调整docs中文件目录结构 1 rok temu
心理健康测评 7ad62a88c4 更新心理健康模块配置和前端依赖 1 rok temu
心理咨询预约 7ad62a88c4 更新心理健康模块配置和前端依赖 1 rok temu
招生就业 e4e4679da9 wuzhen updat 1 rok temu
招生迎新 94f07a059b 提交 1 rok temu
社团管理 7ad62a88c4 更新心理健康模块配置和前端依赖 1 rok temu
01-workflow-module.sql e39d98e655 上传人事代码 1 rok temu
02-code-generator-module.sql e39d98e655 上传人事代码 1 rok temu
03-logistics-module.sql e39d98e655 上传人事代码 1 rok temu
04-job-scheduler-module.sql e39d98e655 上传人事代码 1 rok temu
05-system-management-module.sql e39d98e655 上传人事代码 1 rok temu
06-test-module.sql e39d98e655 上传人事代码 1 rok temu
07-property-maintenance-module.sql e39d98e655 上传人事代码 1 rok temu
08-property-maintenance-table-rename.sql e39d98e655 上传人事代码 1 rok temu
09-overseas-application-menu.sql e39d98e655 上传人事代码 1 rok temu
09-overseas-application-module.sql 3bdc440ab7 “人事数据修复” 1 rok temu
README.md 65d2d71469 优化cursor使用形式,增加项目文档过程管理,方便cursor生成代码 1 rok temu
SQL文件说明.md 715673dce9 提交修改 1 rok temu
alter-rs-application-table.sql e39d98e655 上传人事代码 1 rok temu
alter-rs-job-table.sql e39d98e655 上传人事代码 1 rok temu
batch-type-association-2025-01-27.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2024-12-19-cursor.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-01-assistant.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-01-wuzhen.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-07-cursor.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-07-wuzhen.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-26-cursor-form-improvements.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-26-cursor-poverty-class-first.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-26-cursor-poverty-index-fix.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-26-cursor.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-26-奖学金申请列表显示修复.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-batch-management.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-fix-batch-apply-display.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-fix-quota-batch-type-relation.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-fix-quota-fields.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-frontend-batch.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-frontend.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-hide-auto-allocate-button.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-quota-module.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-scholarship-compatibility.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-scholarship-quota-display-implementation.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-scholarship-quota-display.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-system.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-27-ui-enhancement.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-01-28-fix-scholarship-quota-log.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-04-missing-fields-fix.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-04-scholarship-compatibility-display-fix.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-API对接准备就绪.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-scholarship-add-button-fix.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-scholarship-application-redesign.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-scholarship-batch-apply-redesign.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-scholarship-edit-button-fix.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-scholarship-edit-fix.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-scholarship-quota-frontend.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-wuzhen.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-奖学金申请重构完成.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-05-奖学金申请重构状态总结.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-06-fix-class-info.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-06-fix-scholarship-types.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-07-wuzhen.md 0037cb4e7d wuzhen update 1 rok temu
code-adjust-record-2025-08-08-wuzhen.md 0037cb4e7d wuzhen update 1 rok temu
database_msg.md 65d2d71469 优化cursor使用形式,增加项目文档过程管理,方便cursor生成代码 1 rok temu
menu-fix-duplicate.sql 0037cb4e7d wuzhen update 1 rok temu
menu_fix_script.sql e39d98e655 上传人事代码 1 rok temu
mysql-database-standard.md 65d2d71469 优化cursor使用形式,增加项目文档过程管理,方便cursor生成代码 1 rok temu
rs-dictionary.sql e39d98e655 上传人事代码 1 rok temu
rs-menu-merged.sql e39d98e655 上传人事代码 1 rok temu
rs-menu-mysql-fixed.sql e39d98e655 上传人事代码 1 rok temu
rs-menu-mysql.sql e39d98e655 上传人事代码 1 rok temu
rs-menu.sql e39d98e655 上传人事代码 1 rok temu
rs-recruitment.sql e39d98e655 上传人事代码 1 rok temu
rs-role-permissions-mysql-fixed.sql e39d98e655 上传人事代码 1 rok temu
rs-role-permissions-mysql-fixed2.sql e39d98e655 上传人事代码 1 rok temu
rs-role-permissions-mysql.sql e39d98e655 上传人事代码 1 rok temu
rs-role-permissions.sql e39d98e655 上传人事代码 1 rok temu
scholarship-database-model-check-2025-08-05.md 0037cb4e7d wuzhen update 1 rok temu
student-info-management-menu-structure.sql 4a7021226e 招生就业开发备份@wuzhen 1 rok temu
sys_region 省市区县表.sql 0c6d70cc4c 提交代码,在sys_user表中新增了account_type字段来区分学生和老师 1 rok temu
zsjy-menu-permissions.sql 4a7021226e 招生就业开发备份@wuzhen 1 rok temu
勤工俭学数据库建表完成报告.md 2272bb7eb1 wuzhen update2 1 rok temu
勤工俭学数据模型设计.md 2272bb7eb1 wuzhen update2 1 rok temu
奖学金v2.0数据字典配置.sql 9b7a6e2103 wuzhen update 1 rok temu
奖学金申请列表数据修复脚本.sql a2222f63cb wuzhen update 1 rok temu
奖学金申请数据检查脚本.sql a2222f63cb wuzhen update 1 rok temu
奖学金申请管理v2.0数据库升级脚本-修复版.sql 9b7a6e2103 wuzhen update 1 rok temu
奖学金申请管理v2.0数据库升级脚本.sql 9b7a6e2103 wuzhen update 1 rok temu
招生迎新数据库设计.md 94f07a059b 提交 1 rok temu
新生录取管理菜单权限.sql cc03e81f49 wuzhen 20250723提交 1 rok temu
财务项目预算审批数据模型设计.md e4e4679da9 wuzhen updat 1 rok temu

README.md

数据库设计目录

目录说明

此目录用于存放项目的数据库设计相关文档和脚本文件。

📁 目录结构

database/
├── README.md                    # 本说明文件
├── hzdyjs_xg.sql               # 完整数据库模型 (当前系统的完整表结构)
├── database_msg.md             # 数据库环境配置信息
├── 数据库设计说明.md             # 整体数据库设计文档
├── ER图设计文档.md               # 实体关系图设计
├── 表结构设计.md                 # 详细表结构和字段说明
├── 数据字典.md                   # 数据字典和编码规范
├── DDL/                         # 数据定义语言脚本
│   ├── system/                  # 系统核心表
│   │   ├── sys_tables.sql       # 系统管理表
│   │   ├── auth_tables.sql      # 权限认证表
│   │   └── tenant_tables.sql    # 多租户表
│   ├── business/                # 业务模块表
│   │   ├── hq_tables.sql        # 后勤管理相关表
│   │   └── custom_tables.sql    # 自定义业务表
│   ├── indexes.sql              # 索引创建脚本
│   └── constraints.sql          # 约束创建脚本
├── DML/                         # 数据操作语言脚本
│   ├── init_data.sql            # 初始化数据脚本
│   ├── dict_data.sql            # 字典数据脚本
│   ├── menu_data.sql            # 菜单权限数据
│   └── test_data.sql            # 测试数据脚本
├── models/                      # 数据模型文件
│   ├── erd/                     # ER图文件
│   │   ├── system_erd.drawio    # 系统模块ER图
│   │   ├── business_erd.drawio  # 业务模块ER图
│   │   └── complete_erd.png     # 完整ER图导出
│   └── schema/                  # 数据库schema文件
│       ├── mysql_schema.sql     # MySQL数据库schema
│       ├── oracle_schema.sql    # Oracle数据库schema
│       └── postgres_schema.sql  # PostgreSQL数据库schema
└── migration/                   # 数据库迁移脚本
    ├── v5.0_to_v5.1/           # 版本升级脚本
    ├── v5.1_to_v5.2/
    └── rollback/                # 回滚脚本

🎯 不同类型数据模型的存放建议

0. 当前完整数据库模型

  • 主模型文件: docs/design/database/hzdyjs_xg.sql
  • 内容: 当前系统的完整数据库表结构,包含所有业务表和系统表
  • 说明: 包含宿舍管理 (bed*, dormitory_)、工作流 (flow__) 等业务模块
  • 环境配置: docs/design/database/database_msg.md 包含开发环境数据库连接信息

1. 系统核心数据模型

  • 位置: docs/design/database/DDL/system/
  • 内容: 系统管理、权限认证、多租户等核心表结构
  • 示例: sys_user, sys_role, sys_menu, sys_tenant

2. 业务模块数据模型

  • 位置: docs/design/database/DDL/business/
  • 内容: 具体业务功能相关的表结构
  • 示例: 后勤管理、报告厅预约、满意度调查等

3. 初始化和测试数据

  • 位置: docs/design/database/DML/
  • 内容: 系统初始化数据、字典数据、测试数据等

4. ER 图和设计文档

  • 位置: docs/design/database/models/
  • 内容: 数据库设计图表、关系图、设计说明等

5. 版本升级脚本

  • 位置: docs/design/database/migration/
  • 内容: 数据库版本升级脚本、数据迁移脚本等

🔄 与现有目录的关联

现有 SQL 脚本位置

  • 当前完整模型: docs/design/database/hzdyjs_xg.sql → 当前系统的完整数据库模型 (3638 行)
  • 环境配置: docs/design/database/database_msg.md → 开发环境数据库连接信息
  • 框架主脚本: script/sql/ry_vue_5.X.sql → 参考并拆分到对应模块
  • 更新脚本: script/sql/update/ → 整理到 migration 目录
  • 业务脚本: docs/requirements/*/ → 移动到 business 目录

同步规则

  1. 新表设计: 先在docs/design/database/中设计,再更新到script/sql/
  2. 表结构变更: 同时更新设计文档和升级脚本
    • 必须同步更新: docs/design/database/hzdyjs_xg.sql 中的表结构
    • 环境配置变更: 及时更新 docs/design/database/database_msg.md
  3. 文档维护: 每次数据库变更都要更新相关设计文档

📝 文件命名规范

DDL 脚本命名

  • 系统表: sys_*.sql (如: sys_user.sql)
  • 业务表: 模块前缀_*.sql (如: hq_survey.sql)
  • 索引脚本: idx_表名.sql (如: idx_sys_user.sql)

文档命名

  • 设计文档: 使用中文描述性名称
  • ER 图文件: 模块名_erd.drawio
  • 导出图片: 模块名_erd.png

⚠️ 注意事项

  1. 版本控制: 所有 DDL 变更都要记录版本和变更原因
  2. 多数据库支持: 考虑 MySQL、Oracle、PostgreSQL 的兼容性
  3. 命名规范: 遵循框架统一的命名规范(下划线命名法)
  4. 文档同步: 表结构变更必须同时更新设计文档
    • 关键文件: hzdyjs_xg.sql 必须保持最新的完整表结构
    • 环境安全: database_msg.md 中的密码信息注意安全保护
  5. 备份策略: 重要脚本变更前要备份现有版本
  6. 当前系统参考: 新增表结构应参考 hzdyjs_xg.sql 中现有表的设计规范

数据库设计说明

📋 文档结构

本目录包含项目数据库设计的核心文档:

  • 📊 mysql-database-standard.md - MySQL 数据库建设规范(强制性)
  • 🗄️ hzdyjs_xg.sql - 完整数据库模型文件
  • 🔧 database_msg.md - 数据库环境配置信息

🔴 强制性要求

⚠️ 超级重要:数据库建设强制规范

所有数据库相关的开发工作都必须严格遵循 mysql-database-standard.md 中的规范!

核心强制规范:

  1. ✅ 所有业务表必须包含标准基础字段
  2. ✅ 统一使用雪花 ID 作为主键
  3. ✅ 强制使用逻辑删除,禁止物理删除
  4. ✅ 所有表必须支持多租户
  5. ✅ 完整的中文注释是必须的

违规后果:

  • 不符合规范的表结构将被要求重新设计
  • 所有数据库变更都需要经过 Code Review
  • 必须与现有数据库模型保持高度一致性

🤖 Cursor AI 开发要求

使用 Cursor AI 进行数据库开发时的强制要求:

1. 必须参考规范文档

在进行任何数据库相关开发前,必须:

  • 仔细阅读 mysql-database-standard.md 规范
  • 参考 hzdyjs_xg.sql 中的现有表结构
  • 遵循完全一致的设计模式

2. 强制使用标准模板

  • 使用规范文档中提供的建表 SQL 模板
  • 所有表必须包含完整的基础字段
  • 索引设计必须符合规范要求

3. AI 开发提示词模板

请根据 docs/设计文档/database/mysql-database-standard.md 中的规范,
参考 docs/设计文档/database/hzdyjs_xg.sql 中现有表结构的设计模式,
为 [模块名称] 创建 [表名称] 表。

要求:
1. 严格遵循标准基础字段规范
2. 使用bigint(20)作为主键类型
3. 包含完整的租户支持和逻辑删除
4. 添加完整的中文注释
5. 创建必要的基础索引
6. 使用标准的字段命名规范

请确保生成的SQL与现有表结构风格完全一致。

📊 数据库概览

基本信息

  • 数据库名称: hzdyjs_xg
  • MySQL 版本: 5.7.36+
  • 字符集: utf8mb4
  • 存储引擎: InnoDB
  • 环境配置: 详见 database_msg.md

表数量统计

根据 hzdyjs_xg.sql 统计,数据库包含约 48 个核心表:

核心业务模块

  • 工作流模块 (flow_*): 8 个表
  • 系统管理模块 (sys_*): 18 个表
  • 后勤管理模块 (hq_*): 11 个表
  • 代码生成模块 (gen_*): 2 个表
  • 任务调度模块 (sj_*): 19 个表
  • 测试模块 (test_*): 3 个表

表结构设计模式

标准基础字段(每个业务表必须包含)

`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)'

关键设计特征

  • 主键策略: 雪花 ID (bigint(20))
  • 多租户支持: tenant_id 字段
  • 逻辑删除: deleted 字段
  • 审计追踪: 完整的创建和更新信息
  • 索引设计: 租户、状态、时间等关键字段

命名规范

  • 表名: 模块前缀 + 下划线 + 业务含义 (如: hq_hall_info)
  • 字段名: 下划线命名法 (如: user_name, create_time)
  • 索引名: idx*字段名 或 uk*字段名

🔧 开发使用指南

建表操作流程

1. 设计前准备

  • 阅读 mysql-database-standard.md 规范
  • 分析 hzdyjs_xg.sql 中类似表的设计
  • 确定表名和字段设计

2. 使用标准模板

  • 复制规范文档中的标准模板
  • 添加业务字段,保持基础字段不变
  • 设计合理的索引结构

3. 代码审查

  • 对照检查清单验证表结构
  • 确保与现有表风格一致
  • 提交前进行团队 Review

表结构修改流程

1. 变更评估

  • 评估变更影响范围
  • 确保向前兼容性
  • 准备数据迁移方案

2. 执行变更

  • 使用标准的 ALTER 语句
  • 新增字段必须有默认值
  • 更新相关文档

3. 验证和部署

  • 在测试环境验证
  • 准备回滚预案
  • 记录变更日志

数据查询规范

必须包含的条件

-- 多租户隔离(必须)
WHERE tenant_id = '当前租户ID'

-- 逻辑删除过滤(建议)
AND deleted = 0

-- 分页查询(大数据量)
ORDER BY create_time DESC
LIMIT 20 OFFSET 0

索引优化查询

-- 利用组合索引
WHERE tenant_id = '000000'
  AND status = '0'
  AND create_time >= '2025-01-01'

⚠️ 注意事项

🔴 强制性要求

  1. 新建表必须使用标准模板
  2. 所有字段必须有中文注释
  3. 必须创建租户和删除标志索引
  4. 外键字段必须创建索引
  5. 禁止使用物理删除

🚫 禁止事项

  1. 禁止修改基础字段的类型和含义
  2. 禁止删除租户支持相关字段
  3. 禁止使用 timestamp 类型
  4. 禁止使用 enum 和 set 类型
  5. 禁止创建没有注释的字段

✅ 最佳实践

  1. 字段长度要合理设置
  2. 状态字段统一使用 char(1)
  3. 时间字段统一使用 datetime
  4. 金额字段使用 decimal 类型
  5. 大文本使用 text 类型

🔍 快速检查

表结构自检清单

在创建或修改表时,请对照以下清单:

基础字段检查

  • id 字段: bigint(20) NOT NULL
  • tenant_id 字段: varchar(20) NOT NULL DEFAULT '000000'
  • create_*字段: 完整的创建审计字段
  • update_*字段: 完整的更新审计字段
  • deleted 字段: tinyint(1) DEFAULT 0

业务字段检查

  • 字段命名: 下划线命名法
  • 数据类型: 符合规范要求
  • 默认值: 合理设置
  • 注释: 完整的中文说明

索引检查

  • 基础索引: tenant_id, deleted, create_time
  • 业务索引: 状态、外键、查询字段
  • 唯一约束: 包含租户隔离

表定义检查

  • 表注释: 清晰的中文说明
  • 引擎: InnoDB
  • 字符集: utf8mb4
  • 命名: 符合模块前缀规范

📚 相关资源

📖 核心文档

🔗 外部资源

📝 变更记录

所有数据库变更必须记录在:docs/变更管理/code-adjust-record.md


🎯 目标和愿景

通过严格的数据库设计规范,我们致力于:

  1. 🎯 保证数据一致性: 统一的表结构设计
  2. ⚡ 提升查询性能: 合理的索引策略
  3. 🔒 确保数据安全: 多租户隔离和逻辑删除
  4. 📈 支持业务发展: 可扩展的架构设计
  5. 🛠️ 降低维护成本: 标准化的开发流程

🚨 重要提醒: 数据库是系统的核心,任何不规范的设计都可能对系统造成长期的负面影响。请务必严格遵循规范,确保系统的稳定性和可维护性!


最后更新: 2025-01-08
文档维护: 项目技术团队