fix: 修复 V41 迁移脚本的 SQL 语法错误(MySQL 不支持 IF EXISTS)

This commit is contained in:
En 2026-03-19 16:54:21 +08:00
parent dad4c14f97
commit 48172921d7

View File

@ -13,16 +13,16 @@
-- -----------------------------------------------------
-- 说明:纯关联表,先删后增的更新模式,不需要唯一索引兜底
-- 删除联合唯一索引
ALTER TABLE `course_collection_package` DROP INDEX IF EXISTS `uk_collection_package`;
-- 删除联合唯一索引MySQL 不支持 IF EXISTS直接删除
ALTER TABLE `course_collection_package` DROP INDEX `uk_collection_package`;
-- 删除 deleted 字段
ALTER TABLE `course_collection_package` DROP COLUMN IF EXISTS `deleted`;
ALTER TABLE `course_collection_package` DROP COLUMN `deleted`;
-- 保留普通索引(提高查询性能)
-- 添加普通索引(提高查询性能)
ALTER TABLE `course_collection_package`
ADD INDEX IF NOT EXISTS `idx_collection_id` (`collection_id`),
ADD INDEX IF NOT EXISTS `idx_package_id` (`package_id`);
ADD INDEX `idx_collection_id` (`collection_id`),
ADD INDEX `idx_package_id` (`package_id`);
-- -----------------------------------------------------
-- 2. tenant_course租户 - 课程关联表)
@ -30,15 +30,15 @@ ADD INDEX IF NOT EXISTS `idx_package_id` (`package_id`);
-- 说明:纯关联表,授权关系,不需要唯一索引兜底
-- 删除联合唯一索引
ALTER TABLE `tenant_course` DROP INDEX IF EXISTS `uk_tenant_course`;
ALTER TABLE `tenant_course` DROP INDEX `uk_tenant_course`;
-- 删除 deleted 字段
ALTER TABLE `tenant_course` DROP COLUMN IF EXISTS `deleted`;
ALTER TABLE `tenant_course` DROP COLUMN `deleted`;
-- 保留普通索引
-- 添加普通索引
ALTER TABLE `tenant_course`
ADD INDEX IF NOT EXISTS `idx_tenant_id` (`tenant_id`),
ADD INDEX IF NOT EXISTS `idx_course_id` (`course_id`);
ADD INDEX `idx_tenant_id` (`tenant_id`),
ADD INDEX `idx_course_id` (`course_id`);
-- -----------------------------------------------------
-- 3. class_teacher班级 - 教师关联表)
@ -46,24 +46,9 @@ ADD INDEX IF NOT EXISTS `idx_course_id` (`course_id`);
-- 说明:纯关联表,不需要 deleted 字段
-- 删除 deleted 字段
ALTER TABLE `class_teacher` DROP COLUMN IF EXISTS `deleted`;
ALTER TABLE `class_teacher` DROP COLUMN `deleted`;
-- 保留普通索引
-- 添加普通索引
ALTER TABLE `class_teacher`
ADD INDEX IF NOT EXISTS `idx_class_id` (`class_id`),
ADD INDEX IF NOT EXISTS `idx_teacher_id` (`teacher_id`);
-- -----------------------------------------------------
-- 备注:以下表保留联合唯一索引和 deleted 字段
-- -----------------------------------------------------
-- 1. parent_student家长 - 学生关系)
-- - 关系相对稳定,有业务历史价值
-- - 保留 uk_parent_student 和 deleted 字段
--
-- 2. system_setting系统设置
-- - 配置表,(tenant_id, setting_key) 天然应该唯一
-- - 保留 uk_tenant_key 和 deleted 字段
--
-- 3. tenant_package租户 - 套餐授权)
-- - 合同性质,有历史价值
-- - 保留 deleted 字段
ADD INDEX `idx_class_id` (`class_id`),
ADD INDEX `idx_teacher_id` (`teacher_id`);