guoyu/Study-Vue-redis/database_update_student_status.sql
2025-12-03 18:58:36 +08:00

53 lines
3.7 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 创建学员状态字典类型
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `remark`)
VALUES ('学员状态', 'study_student_status', '0', 'admin', NOW(), '学员状态列表(在押、释放、外出、假释等)')
ON DUPLICATE KEY UPDATE `dict_name` = '学员状态', `remark` = '学员状态列表(在押、释放、外出、假释等)';
-- 创建学员状态字典数据
-- 在押
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `remark`)
VALUES (1, '在押', 'incarcerated', 'study_student_status', '', 'primary', 'Y', '0', 'admin', NOW(), '在押状态')
ON DUPLICATE KEY UPDATE `dict_label` = '在押', `dict_sort` = 1, `is_default` = 'Y', `status` = '0';
-- 释放
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `remark`)
VALUES (2, '释放', 'released', 'study_student_status', '', 'success', 'N', '0', 'admin', NOW(), '释放状态')
ON DUPLICATE KEY UPDATE `dict_label` = '释放', `dict_sort` = 2, `is_default` = 'N', `status` = '0';
-- 为 sys_user 表添加学员状态字段(如果字段不存在)
SET @exist := (SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'sys_user'
AND COLUMN_NAME = 'student_status');
SET @sqlstmt := IF(@exist = 0,
'ALTER TABLE `sys_user` ADD COLUMN `student_status` VARCHAR(50) DEFAULT NULL COMMENT ''学员状态incarcerated-在押, released-释放, out-外出, parole-假释等)'' AFTER `entry_date`',
'SELECT ''student_status字段已存在'' as result');
PREPARE stmt FROM @sqlstmt;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 创建学员变更记录表
DROP TABLE IF EXISTS `study_student_change_log`;
CREATE TABLE `study_student_change_log` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`student_id` bigint NOT NULL COMMENT '学员IDsys_user表的user_id',
`change_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '变更类型status_change-状态变更, field_change-字段变更)',
`field_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '字段名称(仅字段变更时使用)',
`old_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '旧值',
`new_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '新值',
`old_label` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '旧值显示标签(用于状态等需要翻译的值)',
`new_label` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '新值显示标签(用于状态等需要翻译的值)',
`change_desc` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '变更描述',
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
`operator_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作人名称',
`change_time` datetime NOT NULL COMMENT '变更时间',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_student_id` (`student_id`),
KEY `idx_change_type` (`change_type`),
KEY `idx_change_time` (`change_time`),
KEY `idx_field_name` (`field_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学员变更记录表';