35 lines
1.6 KiB
SQL
35 lines
1.6 KiB
SQL
-- =============================================================
|
||
-- 数据库迁移脚本:question 表补充缺失列
|
||
-- 版本: V1.1
|
||
-- 日期: 2026-06-08
|
||
-- 说明: question表缺少 exclude_stems 和 is_deleted 列,
|
||
-- 导致 MyBatis-Plus 全字段查询时抛出 SQL 异常
|
||
-- (Unknown column 'exclude_stems' / 'is_deleted')
|
||
-- 对应实体字段: Question.excludeStems, Question.isDeleted
|
||
-- =============================================================
|
||
|
||
-- 1. 添加 exclude_stems 列(对应实体 field: excludeStems)
|
||
-- 用于 AI 出题时对题干内容进行去重
|
||
ALTER TABLE `question`
|
||
ADD COLUMN `exclude_stems` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
|
||
NULL DEFAULT NULL COMMENT '题干内容,用于AI去重'
|
||
AFTER `document_id`;
|
||
|
||
-- 2. 添加 is_deleted 列(对应实体 field: isDeleted)
|
||
-- 用于逻辑删除标记
|
||
ALTER TABLE `question`
|
||
ADD COLUMN `is_deleted` int NOT NULL DEFAULT 0
|
||
COMMENT '软删除标志:0表示正常,1表示已删除'
|
||
AFTER `updated_at`;
|
||
|
||
-- 3. 为 is_deleted 添加索引(优化按删除状态查询的性能)
|
||
ALTER TABLE `question`
|
||
ADD INDEX `idx_question_is_deleted`(`is_deleted` ASC) USING BTREE;
|
||
|
||
-- =============================================================
|
||
-- 回滚脚本(如需回滚请执行以下语句)
|
||
-- =============================================================
|
||
-- ALTER TABLE `question` DROP COLUMN `exclude_stems`;
|
||
-- ALTER TABLE `question` DROP COLUMN `is_deleted`;
|
||
-- ALTER TABLE `question` DROP INDEX `idx_question_is_deleted`;
|