'use strict'; /** * 迁移文件:创建试卷题目表(exam_questions) * 存储各组别的试卷题目 */ module.exports = { up: async (queryInterface, Sequelize) => { const { INTEGER, STRING, TEXT, DATE } = Sequelize; await queryInterface.createTable('exam_questions', { id: { type: INTEGER, primaryKey: true, autoIncrement: true, allowNull: false, comment: '题目唯一标识', }, group: { type: STRING(20), allowNull: false, comment: '题目所属组别', }, title: { type: STRING(200), allowNull: false, comment: '题目标题', }, content: { type: TEXT, allowNull: false, comment: '题目内容描述', }, score: { type: INTEGER, allowNull: false, comment: '题目分值', }, sort_order: { type: INTEGER, allowNull: false, defaultValue: 0, comment: '排序序号', }, created_at: { type: DATE, allowNull: false, comment: '创建时间', }, updated_at: { type: DATE, allowNull: false, comment: '更新时间', }, }); await queryInterface.addIndex('exam_questions', ['group'], { name: 'idx_exam_questions_group', }); await queryInterface.addIndex('exam_questions', ['group', 'sort_order'], { name: 'idx_exam_questions_group_sort', }); }, down: async (queryInterface) => { await queryInterface.dropTable('exam_questions'); }, };