fix: improve import, evidence indexing and material-scoped grading

Preserve document revisions and evidence, harden indexing and export behavior, add explicit material selection and direct-folder import, validate model JSON schemas with safe error messages, and retain student selection while loading scoring data.
This commit is contained in:
2026-10-14 13:52:56 +08:00
parent 29c95ce5ad
commit ebe33392ca
42 changed files with 2332 additions and 304 deletions
+4 -2
View File
@@ -165,9 +165,11 @@ class KnowledgeDocument(Base):
title = Column(String(500), nullable=False)
document_type = Column(String(80), nullable=False)
source_hash = Column(String(64), nullable=False)
index_version = Column(Integer, nullable=False, default=2, server_default="1")
index_version = Column(Integer, nullable=False, default=5, server_default="5")
revision = Column(Integer, nullable=False, default=1, server_default="1")
status = Column(String(40), default="ready")
__table_args__ = (UniqueConstraint("course_version_id", "project_id", "submission_file_id", "source_hash"),)
__table_args__ = (UniqueConstraint("course_version_id", "project_id", "submission_file_id", "source_hash", "revision",
name="uq_knowledge_document_revision"),)
class KnowledgePage(Base):