| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- -- 学生操行分历史数据迁移 - 临时表创建脚本
- -- 执行时间:2025-01-XX
- -- 执行人:系统管理员
- -- ===========================================
- -- 临时表1:存储Excel原始数据
- -- ===========================================
- DROP TABLE IF EXISTS temp_conduct_score_import;
- CREATE TABLE temp_conduct_score_import (
- id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- student_no VARCHAR(50) NOT NULL COMMENT '学号',
- student_name VARCHAR(100) COMMENT '姓名',
- gender VARCHAR(10) COMMENT '性别',
- ethnicity VARCHAR(50) COMMENT '民族',
- academic_year_str VARCHAR(20) NOT NULL COMMENT '原始学年(2015-2016)',
- semester_str VARCHAR(20) NOT NULL COMMENT '原始学期(第一学期/第二学期)',
- monthly_scores TEXT NOT NULL COMMENT '平时分数(一月:90,九月:85...)',
- final_score DECIMAL(5,2) COMMENT '最终分',
- grade_level VARCHAR(20) COMMENT '等级',
- department VARCHAR(100) COMMENT '院系',
- major VARCHAR(100) COMMENT '专业',
- class_name VARCHAR(100) COMMENT '班级',
- grade VARCHAR(20) COMMENT '年级',
- import_status VARCHAR(20) DEFAULT 'pending' COMMENT '导入状态(pending/processing/parsed/error)',
- error_msg TEXT COMMENT '错误信息',
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- INDEX idx_student_no (student_no),
- INDEX idx_import_status (import_status),
- INDEX idx_create_time (create_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生操行分Excel数据临时表';
- -- ===========================================
- -- 临时表2:解析后的月度分数中间表
- -- ===========================================
- DROP TABLE IF EXISTS temp_conduct_score_parsed;
- CREATE TABLE temp_conduct_score_parsed (
- id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- temp_id BIGINT NOT NULL COMMENT '关联临时表ID',
- -- Excel原始字段(用于追溯)
- student_no VARCHAR(50) NOT NULL COMMENT '学号',
- academic_year_str VARCHAR(20) NOT NULL COMMENT '原始学年',
- semester_str VARCHAR(20) NOT NULL COMMENT '原始学期',
- -- 解析后字段
- academic_year INT NOT NULL COMMENT '学年',
- semester TINYINT NOT NULL COMMENT '学期(1/2)',
- month TINYINT NOT NULL COMMENT '月份(1-12)',
- score DECIMAL(5,2) NOT NULL COMMENT '月度分数',
- -- 系统关联字段
- student_id BIGINT COMMENT '学生ID',
- class_id BIGINT COMMENT '班级ID',
- class_teacher_id BIGINT COMMENT '班主任ID',
- -- 扩展字段
- remark VARCHAR(500) COMMENT '备注信息',
- processing_status VARCHAR(20) DEFAULT 'parsed' COMMENT '处理状态(parsed/linked/imported/error)',
- error_msg TEXT COMMENT '错误信息',
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- -- 索引优化
- INDEX idx_temp_id (temp_id),
- INDEX idx_student_no (student_no),
- INDEX idx_processing_status (processing_status),
- INDEX idx_academic_year_semester (academic_year, semester),
- INDEX idx_student_year_semester_month (student_no, academic_year, semester, month),
- INDEX idx_create_time (create_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生操行分解析后中间表';
- -- ===========================================
- -- 迁移日志表(可选,用于记录详细的迁移过程)
- -- ===========================================
- DROP TABLE IF EXISTS temp_conduct_score_migration_log;
- CREATE TABLE temp_conduct_score_migration_log (
- id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- script_name VARCHAR(100) NOT NULL COMMENT '脚本名称',
- operation VARCHAR(100) NOT NULL COMMENT '操作类型',
- record_count INT DEFAULT 0 COMMENT '处理记录数',
- success_count INT DEFAULT 0 COMMENT '成功数',
- error_count INT DEFAULT 0 COMMENT '失败数',
- error_details TEXT COMMENT '错误详情',
- start_time DATETIME NOT NULL COMMENT '开始时间',
- end_time DATETIME COMMENT '结束时间',
- duration_seconds INT COMMENT '耗时(秒)',
- status VARCHAR(20) DEFAULT 'running' COMMENT '状态(running/success/error)',
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- INDEX idx_script_operation (script_name, operation),
- INDEX idx_status (status),
- INDEX idx_create_time (create_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操行分迁移日志表';
|