| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- from sqlalchemy import Column, Integer, String, Text, BigInteger, JSON, SmallInteger
- from database import Base
- class ExamPaper(Base):
- """试卷表 - 对应Go版本的exam_papers"""
- __tablename__ = "exam_papers"
- id = Column(BigInteger, primary_key=True, autoincrement=True)
- exam_name = Column(String(100))
- exam_type = Column(String(50))
- total_score = Column(Integer)
- total_questions = Column(Integer)
- generation_method = Column(String(20))
- generation_time = Column(String(50))
- user_id = Column(BigInteger)
- status = Column(SmallInteger, default=1)
- created_at = Column(Integer)
- updated_at = Column(Integer)
- deleted_at = Column(Integer)
- class ExamQuestionConfig(Base):
- """题型配置表 - 对应Go版本的exam_question_configs"""
- __tablename__ = "exam_question_configs"
- id = Column(BigInteger, primary_key=True, autoincrement=True)
- exam_papers_id = Column(BigInteger)
- question_type = Column(String(20))
- score_per_question = Column(Integer)
- total_score = Column(Integer)
- question_count = Column(Integer)
- created_at = Column(Integer)
- updated_at = Column(Integer)
- deleted_at = Column(Integer)
- class ExamQuestion(Base):
- """题目表 - 对应Go版本的exam_questions"""
- __tablename__ = "exam_questions"
- id = Column(BigInteger, primary_key=True, autoincrement=True)
- exam_papers_id = Column(BigInteger)
- question_type = Column(String(20))
- question_index = Column(Integer)
- question_text = Column(Text)
- options = Column(JSON)
- correct_answer = Column(String(50))
- correct_answers = Column(JSON)
- answer_outline = Column(JSON)
- created_at = Column(Integer)
- updated_at = Column(Integer)
- deleted_at = Column(Integer)
- class ExamUserAnswer(Base):
- """用户答案表 - 对应Go版本的exam_user_answers"""
- __tablename__ = "exam_user_answers"
- id = Column(BigInteger, primary_key=True, autoincrement=True)
- exam_papers_id = Column(BigInteger)
- user_id = Column(BigInteger)
- exam_questions_id = Column(BigInteger)
- user_answer = Column(String(50))
- user_answers = Column(JSON)
- is_correct = Column(SmallInteger)
- created_at = Column(Integer)
- updated_at = Column(Integer)
- deleted_at = Column(Integer)
|