-- =============================================================
-- 数据库迁移脚本：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`;
