fix: 所有等级奖章模型使用 Base 而非 BaseModel
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
yuliang_guo
2026-01-29 16:29:45 +08:00
parent 9abce87f97
commit 813ba2c295

View File

@@ -17,7 +17,7 @@ from sqlalchemy.orm import relationship
from app.models.base import Base, BaseModel from app.models.base import Base, BaseModel
class UserLevel(BaseModel): class UserLevel(Base):
"""用户等级表""" """用户等级表"""
__tablename__ = "user_levels" __tablename__ = "user_levels"
@@ -30,16 +30,14 @@ class UserLevel(BaseModel):
max_login_streak = Column(Integer, nullable=False, default=0, comment="历史最长连续登录天数") max_login_streak = Column(Integer, nullable=False, default=0, comment="历史最长连续登录天数")
last_login_date = Column(Date, nullable=True, comment="最后登录日期") last_login_date = Column(Date, nullable=True, comment="最后登录日期")
last_checkin_at = Column(DateTime, nullable=True, comment="最后签到时间") last_checkin_at = Column(DateTime, nullable=True, comment="最后签到时间")
created_at = Column(DateTime, nullable=False, default=datetime.now)
updated_at = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now)
# 关联 # 关联
user = relationship("User", backref="user_level", uselist=False) user = relationship("User", backref="user_level", uselist=False)
# 不继承 is_deleted 等软删除字段
is_deleted = None
deleted_at = None
class ExpHistory(BaseModel): class ExpHistory(Base):
"""经验值历史表""" """经验值历史表"""
__tablename__ = "exp_history" __tablename__ = "exp_history"
@@ -51,16 +49,13 @@ class ExpHistory(BaseModel):
description = Column(String(255), nullable=False, comment="描述") description = Column(String(255), nullable=False, comment="描述")
level_before = Column(Integer, nullable=True, comment="变化前等级") level_before = Column(Integer, nullable=True, comment="变化前等级")
level_after = Column(Integer, nullable=True, comment="变化后等级") level_after = Column(Integer, nullable=True, comment="变化后等级")
created_at = Column(DateTime, nullable=False, default=datetime.now)
# 关联 # 关联
user = relationship("User", backref="exp_histories") user = relationship("User", backref="exp_histories")
# 不继承软删除字段
is_deleted = None
deleted_at = None
class BadgeDefinition(BaseModel): class BadgeDefinition(Base):
"""奖章定义表""" """奖章定义表"""
__tablename__ = "badge_definitions" __tablename__ = "badge_definitions"
@@ -76,16 +71,14 @@ class BadgeDefinition(BaseModel):
exp_reward = Column(Integer, nullable=False, default=0, comment="奖励经验值") exp_reward = Column(Integer, nullable=False, default=0, comment="奖励经验值")
sort_order = Column(Integer, nullable=False, default=0, comment="排序") sort_order = Column(Integer, nullable=False, default=0, comment="排序")
is_active = Column(Boolean, nullable=False, default=True, comment="是否启用") is_active = Column(Boolean, nullable=False, default=True, comment="是否启用")
created_at = Column(DateTime, nullable=False, default=datetime.now)
updated_at = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now)
# 关联 # 关联
user_badges = relationship("UserBadge", back_populates="badge") user_badges = relationship("UserBadge", back_populates="badge")
# 不继承软删除字段
is_deleted = None
deleted_at = None
class UserBadge(BaseModel): class UserBadge(Base):
"""用户奖章表""" """用户奖章表"""
__tablename__ = "user_badges" __tablename__ = "user_badges"
@@ -95,14 +88,11 @@ class UserBadge(BaseModel):
unlocked_at = Column(DateTime, nullable=False, default=datetime.now, comment="解锁时间") unlocked_at = Column(DateTime, nullable=False, default=datetime.now, comment="解锁时间")
is_notified = Column(Boolean, nullable=False, default=False, comment="是否已通知") is_notified = Column(Boolean, nullable=False, default=False, comment="是否已通知")
notified_at = Column(DateTime, nullable=True, comment="通知时间") notified_at = Column(DateTime, nullable=True, comment="通知时间")
created_at = Column(DateTime, nullable=False, default=datetime.now)
# 关联 # 关联
user = relationship("User", backref="badges") user = relationship("User", backref="badges")
badge = relationship("BadgeDefinition", back_populates="user_badges") badge = relationship("BadgeDefinition", back_populates="user_badges")
# 不继承软删除字段
is_deleted = None
deleted_at = None
class LevelConfig(Base): class LevelConfig(Base):