v2.3更新
This commit is contained in:
63
sql/upgrades/v1.6.sql
Normal file
63
sql/upgrades/v1.6.sql
Normal file
@@ -0,0 +1,63 @@
|
||||
-- ===========================================
|
||||
-- 班级操行分管理系统 - v1.5 → v1.6 升级脚本
|
||||
-- 字符集: utf8mb4
|
||||
--
|
||||
-- 变更内容:
|
||||
-- 1. subjects 表添加 subject_code 列(科目代码)
|
||||
-- 2. subjects 表添加 sort_order 列(排序序号)
|
||||
-- 3. 更新已有科目的 subject_code
|
||||
--
|
||||
-- 兼容性: 使用存储过程实现幂等,phpMyAdmin 可直接执行
|
||||
-- ===========================================
|
||||
|
||||
-- 升级步骤 1: subjects 添加 subject_code 列
|
||||
DROP PROCEDURE IF EXISTS `upgrade_step`;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE `upgrade_step`()
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'subjects'
|
||||
AND COLUMN_NAME = 'subject_code'
|
||||
) THEN
|
||||
ALTER TABLE `subjects`
|
||||
ADD COLUMN `subject_code` VARCHAR(20) DEFAULT NULL COMMENT '科目代码'
|
||||
AFTER `subject_name`;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
CALL `upgrade_step`();
|
||||
DROP PROCEDURE IF EXISTS `upgrade_step`;
|
||||
|
||||
-- 升级步骤 2: subjects 添加 sort_order 列
|
||||
DROP PROCEDURE IF EXISTS `upgrade_step`;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE `upgrade_step`()
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'subjects'
|
||||
AND COLUMN_NAME = 'sort_order'
|
||||
) THEN
|
||||
ALTER TABLE `subjects`
|
||||
ADD COLUMN `sort_order` INT DEFAULT 0 COMMENT '排序序号'
|
||||
AFTER `is_active`;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
CALL `upgrade_step`();
|
||||
DROP PROCEDURE IF EXISTS `upgrade_step`;
|
||||
|
||||
-- 升级步骤 3: 更新已有科目的 subject_code
|
||||
UPDATE `subjects` SET `subject_code` = 'CHI' WHERE `subject_name` = '语文' AND (`subject_code` IS NULL OR `subject_code` = '');
|
||||
UPDATE `subjects` SET `subject_code` = 'MATH' WHERE `subject_name` = '数学' AND (`subject_code` IS NULL OR `subject_code` = '');
|
||||
UPDATE `subjects` SET `subject_code` = 'ENG' WHERE `subject_name` = '英语' AND (`subject_code` IS NULL OR `subject_code` = '');
|
||||
|
||||
-- 升级步骤 4: 设置默认排序
|
||||
UPDATE `subjects` SET `sort_order` = 1 WHERE `subject_name` = '语文' AND `sort_order` = 0;
|
||||
UPDATE `subjects` SET `sort_order` = 2 WHERE `subject_name` = '数学' AND `sort_order` = 0;
|
||||
UPDATE `subjects` SET `sort_order` = 3 WHERE `subject_name` = '英语' AND `sort_order` = 0;
|
||||
Reference in New Issue
Block a user