Skip to content

Commit 28a7c7d

Browse files
committed
fix(db): remove deprecated fields
1 parent b4b9883 commit 28a7c7d

File tree

2 files changed

+37
-10
lines changed

2 files changed

+37
-10
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
"""remove deprecated columns
2+
3+
Revision ID: d8c20202f147
4+
Revises: a3f0f217940b
5+
Create Date: 2026-02-14 14:16:34.376539
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
11+
12+
# revision identifiers, used by Alembic.
13+
revision = 'd8c20202f147'
14+
down_revision = 'a3f0f217940b'
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
with op.batch_alter_table('exams', schema=None) as batch_op:
22+
batch_op.drop_constraint(batch_op.f('exams_school_id_fkey'), type_='foreignkey')
23+
batch_op.drop_column('is_saved')
24+
batch_op.drop_column('school_id')
25+
26+
# ### end Alembic commands ###
27+
28+
29+
def downgrade():
30+
# ### commands auto generated by Alembic - please adjust! ###
31+
with op.batch_alter_table('exams', schema=None) as batch_op:
32+
batch_op.add_column(sa.Column('school_id', sa.VARCHAR(length=50), autoincrement=False, nullable=True))
33+
batch_op.add_column(sa.Column('is_saved', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=False))
34+
batch_op.create_foreign_key(batch_op.f('exams_school_id_fkey'), 'schools', ['school_id'], ['id'])
35+
36+
# ### end Alembic commands ###

src/ZhiXueLite/app/database/models.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ class School(BaseDBClass):
4848
teacher: Mapped["ZhiXueTeacherAccount"] = relationship("ZhiXueTeacherAccount", back_populates="school")
4949
student_accounts: Mapped[list["ZhiXueStudentAccount"]] = relationship(
5050
"ZhiXueStudentAccount", back_populates="school")
51-
exams: Mapped[list["Exam"]] = relationship("Exam", back_populates="school")
5251

5352

5453
class ZhiXueTeacherAccount(BaseDBClass):
@@ -141,18 +140,10 @@ class Exam(BaseDBClass):
141140
id: Mapped[str] = mapped_column(String(50), primary_key=True, unique=True)
142141
name: Mapped[str] = mapped_column(String(255))
143142
created_at: Mapped[float] = mapped_column(Float)
144-
# DEPRECATED: is_saved 已迁移到 ExamSchool.is_saved(支持联考后每个学校独立保存状态)
145-
# 保留此字段用于向下兼容,数据库迁移时会删除
146-
is_saved: Mapped[bool] = mapped_column(Boolean, default=False)
147-
# DEPRECATED: school_id 已改为多对多关系(通过 ExamSchool 表)
148-
# 保留此字段用于向下兼容,新代码应使用 schools 关系
149-
school_id: Mapped[Optional[str]] = mapped_column(String(50), ForeignKey("schools.id"), nullable=True)
150143

151144
user_exams: Mapped[list["UserExam"]] = relationship("UserExam", back_populates="exam")
152145
scores: Mapped[list["Score"]] = relationship("Score", back_populates="exam")
153-
# DEPRECATED: 保留单一 school 关系用于向下兼容
154-
school: Mapped[Optional["School"]] = relationship("School", foreign_keys=[school_id], back_populates="exams")
155-
# 新的多对多关系
146+
# 多对多关系
156147
schools: Mapped[list["ExamSchool"]] = relationship("ExamSchool", back_populates="exam")
157148

158149
__table_args__ = (

0 commit comments

Comments
 (0)