from sqlalchemy import Column, Integer, String, Text, DateTime, Date from datetime import datetime, timezone, date from app.database import Base def utcnow(): """统一获取 UTC 时间的工厂函数""" return datetime.now(timezone.utc) class UserSettings(Base): """用户设置模型(单例,始终只有一条记录 id=1)""" __tablename__ = "user_settings" id = Column(Integer, primary_key=True, default=1) # 个人信息 nickname = Column(String(50), default="爱莉希雅") avatar = Column(Text, nullable=True) signature = Column(String(200), nullable=True) birthday = Column(Date, nullable=True) email = Column(String(100), nullable=True) # 应用信息 site_name = Column(String(50), default="爱莉希雅待办") # 应用偏好 theme = Column(String(20), default="pink") language = Column(String(10), default="zh-CN") default_view = Column(String(20), default="list") default_sort_by = Column(String(20), default="created_at") default_sort_order = Column(String(10), default="desc") # 时间戳 created_at = Column(DateTime, default=utcnow) updated_at = Column(DateTime, default=utcnow, onupdate=utcnow)