base.py 742 B

1234567891011121314151617181920212223242526272829303132
  1. """
  2. Base model with common fields for all models.
  3. """
  4. from datetime import datetime
  5. from sqlalchemy import DateTime
  6. from sqlalchemy.orm import Mapped, mapped_column
  7. from sqlalchemy.sql import func
  8. from app.core.database import Base as SQLAlchemyBase
  9. class Base(SQLAlchemyBase):
  10. """
  11. Base class for all database models.
  12. Provides common fields: created_at, updated_at.
  13. """
  14. __abstract__ = True
  15. created_at: Mapped[datetime] = mapped_column(
  16. DateTime(timezone=True),
  17. server_default=func.now(),
  18. nullable=False,
  19. )
  20. updated_at: Mapped[datetime] = mapped_column(
  21. DateTime(timezone=True),
  22. server_default=func.now(),
  23. onupdate=func.now(),
  24. nullable=False,
  25. )