-- 初始化数据库脚本
-- 创建goals表（如果不存在）
CREATE TABLE IF NOT EXISTS goals (
    goal_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    user_id BIGINT NOT NULL,
    subject VARCHAR(100) NOT NULL COMMENT '学科类型',
    goal_type VARCHAR(50) NOT NULL COMMENT '题目形式（选择、填空、记单词）',
    goal_content TEXT COMMENT '目标描述',
    difficulty VARCHAR(20) COMMENT '难度',
    total_quantity INT NOT NULL COMMENT '题目数量',
    completed_quantity INT DEFAULT 0 COMMENT '已完成量',
    estimated_time INT COMMENT '预计用时（分钟）',
    start_time TIMESTAMP COMMENT '开始时间',
    status INT DEFAULT 0 COMMENT '状态（0-未开始，1-进行中，2-已完成）',
    create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    FOREIGN KEY (user_id) REFERENCES user_info(user_id)
);

-- 创建目标详情表（题目表）
CREATE TABLE IF NOT EXISTS goal_of_detail (
    detail_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    goal_id BIGINT NOT NULL,
    subject VARCHAR(50) COMMENT '学科',
    content_type INT COMMENT '题目类型（1-选择题，2-填空题，3-单词）',
    content TEXT COMMENT '题目内容',
    options JSON COMMENT '选项（JSON格式）',
    answer TEXT COMMENT '答案',
    difficulty VARCHAR(20) COMMENT '难度',
    knowledge_point VARCHAR(100) COMMENT '知识点',
    create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    FOREIGN KEY (goal_id) REFERENCES goals(goal_id) ON DELETE CASCADE
);

-- 插入一些示例数据（可选）
-- INSERT INTO goals (user_id, subject, goal_type, goal_content, difficulty, total_quantity, estimated_time, status) 
-- VALUES 
-- (1, '数学', '选择', '完成高中数学选择题练习', '中等', 20, 30, 0),
-- (1, '英语', '记单词', '背诵四级词汇', '简单', 50, 60, 0),
-- (1, '物理', '填空', '物理公式填空练习', '困难', 15, 45, 0);