Files
hzdyjs/docs/设计文档/database/学工管理-学生信息管理/03-batch-log-table.sql
T
2025-07-19 10:18:27 +08:00

31 lines
1.5 KiB
SQL

-- 第一阶段:创建批次操作日志表
-- 说明:记录所有批次相关的操作,用于审计和追踪
-- 1. 创建批次操作日志表
CREATE TABLE xg_collection_batch_log (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
batch_id BIGINT NOT NULL COMMENT '批次ID',
student_id BIGINT COMMENT '学生ID',
operation_type VARCHAR(50) NOT NULL COMMENT '操作类型(CREATE,UPDATE,SUBMIT,ADMIN_MODIFY,BATCH_PUBLISH,BATCH_CLOSE)',
operation_desc TEXT COMMENT '操作描述',
old_data TEXT COMMENT '修改前数据(JSON格式)',
new_data TEXT COMMENT '修改后数据(JSON格式)',
operator_id BIGINT COMMENT '操作人ID',
operator_name VARCHAR(100) COMMENT '操作人姓名',
operator_type VARCHAR(50) COMMENT '操作人类型(STUDENT,ADMIN,SYSTEM)',
ip_address VARCHAR(50) COMMENT 'IP地址',
user_agent TEXT COMMENT '用户代理',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
tenant_id BIGINT DEFAULT 0 COMMENT '租户ID'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息采集批次操作日志表';
-- 2. 创建索引
CREATE INDEX idx_batch_id ON xg_collection_batch_log(batch_id);
CREATE INDEX idx_student_id ON xg_collection_batch_log(student_id);
CREATE INDEX idx_operation_type ON xg_collection_batch_log(operation_type);
CREATE INDEX idx_create_time ON xg_collection_batch_log(create_time);
CREATE INDEX idx_operator_id ON xg_collection_batch_log(operator_id);
CREATE INDEX idx_operator_type ON xg_collection_batch_log(operator_type);
-- 验证创建
SELECT 'Batch log table created!' as message;