| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- -- ==========================================
- -- 数据库变更脚本
- -- 版本:V1.0.0
- -- 功能:新增学生换班级记录表
- -- 作者:AI Assistant
- -- 时间:2025-01-25
- -- ==========================================
- -- ----------------------------
- -- Table structure for xg_student_class_change
- -- ----------------------------
- DROP TABLE IF EXISTS `xg_student_class_change`;
- CREATE TABLE `xg_student_class_change` (
- -- 基础字段(必须)
- `id` bigint(20) NOT NULL COMMENT '主键ID(雪花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代表删除)',
- -- 学生基本信息
- `student_id` bigint(20) NOT NULL COMMENT '学生ID,关联xg_student_msg.id',
- `student_no` varchar(32) NOT NULL COMMENT '学号',
- `student_name` varchar(50) NOT NULL COMMENT '学生姓名',
- -- 原班级信息
- `original_college_id` bigint(20) DEFAULT NULL COMMENT '原学院ID ',
- `original_college_name` varchar(100) DEFAULT NULL COMMENT '原学院名称',
- `original_major_id` bigint(20) DEFAULT NULL COMMENT '原专业ID ',
- `original_major_name` varchar(100) DEFAULT NULL COMMENT '原专业名称',
- `original_class_id` bigint(20) DEFAULT NULL COMMENT '原班级ID ',
- `original_class_code` varchar(32) DEFAULT NULL COMMENT '原班级代码',
- `original_class_name` varchar(100) DEFAULT NULL COMMENT '原班级名称',
- -- 新班级信息
- `new_college_id` bigint(20) DEFAULT NULL COMMENT '新学院ID ',
- `new_college_name` varchar(100) DEFAULT NULL COMMENT '新学院名称',
- `new_major_id` bigint(20) DEFAULT NULL COMMENT '新专业ID ',
- `new_major_name` varchar(100) DEFAULT NULL COMMENT '新专业名称',
- `new_class_id` bigint(20) DEFAULT NULL COMMENT '新班级ID ',
- `new_class_code` varchar(32) DEFAULT NULL COMMENT '新班级代码',
- `new_class_name` varchar(100) DEFAULT NULL COMMENT '新班级名称',
- -- 换班级业务信息
- `change_reason` varchar(500) DEFAULT NULL COMMENT '换班级原因',
- `change_type` char(1) DEFAULT '1' COMMENT '换班级类型:1-主动申请,2-学校调整,3-专业调整,4-其他',
- `change_time` datetime DEFAULT NULL COMMENT '换班级时间',
- `effective_time` datetime DEFAULT NULL COMMENT '生效时间',
- `status` char(1) DEFAULT '0' COMMENT '处理状态:0-未处理,1-已处理',
- -- 扩展字段
- `remark` varchar(500) DEFAULT NULL COMMENT '备注',
- -- 主键和索引
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `uk_student_change_time` (`student_id`, `change_time`, `tenant_id`, `deleted`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_deleted` (`deleted`),
- KEY `idx_student_id` (`student_id`),
- KEY `idx_student_no` (`student_no`),
- KEY `idx_original_class_id` (`original_class_id`),
- KEY `idx_new_class_id` (`new_class_id`),
- KEY `idx_change_time` (`change_time`),
- KEY `idx_effective_time` (`effective_time`),
- KEY `idx_create_time` (`create_time`),
- KEY `idx_tenant_deleted` (`tenant_id`, `deleted`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生换班级记录表';
- -- 建表完成提示
- -- 注意事项:
- -- 1. 该表遵循项目数据库规范,包含所有强制性基础字段
- -- 2. 使用雪花ID作为主键,支持多租户数据隔离
- -- 3. 支持逻辑删除,避免物理删除数据
- -- 4. 记录学生换班级的完整历史信息,包括审批流程
- -- 5. 关联字段不使用外键约束,通过应用层逻辑维护数据一致性
- -- 6. 索引设计遵循性能优化原则
|