2025-05-16 14:34:27 +00:00

20 lines
614 B
Python

import uuid
from datetime import datetime
from sqlalchemy import Column, DateTime, String
from sqlalchemy.ext.declarative import declared_attr
from app.core.database import Base
class BaseModel(Base):
"""Base SQLAlchemy model with common fields."""
__abstract__ = True
@declared_attr
def __tablename__(cls):
return cls.__name__.lower()
id = Column(String(36), primary_key=True, index=True, default=lambda: str(uuid.uuid4()))
created_at = Column(DateTime, default=datetime.utcnow)
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)