base.py 705 B

12345678910111213141516
  1. from datetime import datetime
  2. from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
  3. from sqlalchemy.sql import func
  4. class Base(DeclarativeBase):
  5. """
  6. 所有 SQLAlchemy ORM 模型的抽象基类。
  7. 包含了审计字段:创建时间、更新时间、逻辑删除标识。
  8. """
  9. pass
  10. class AuditMixin:
  11. """审计字段 Mixin"""
  12. created_time: Mapped[datetime] = mapped_column(server_default=func.now(), comment="创建时间")
  13. updated_time: Mapped[datetime] = mapped_column(server_default=func.now(), onupdate=func.now(), comment="更新时间")
  14. delete_flag: Mapped[int] = mapped_column(default=0, server_default="0", comment="逻辑删除(0未删, 1已删)")