● Zion Boggan
repos/Sightline/backend/app/db/base.py
zionboggan.com ↗
21 lines · python
History for this file →
1
from datetime import datetime, timezone
2
 
3
from sqlalchemy import DateTime, func
4
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
5
 
6
 
7
class Base(DeclarativeBase):
8
    pass
9
 
10
 
11
class TimestampMixin:
12
    created_at: Mapped[datetime] = mapped_column(
13
        DateTime(timezone=True), server_default=func.now(), nullable=False
14
    )
15
    updated_at: Mapped[datetime] = mapped_column(
16
        DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False
17
    )
18
 
19
 
20
def utcnow() -> datetime:
21
    return datetime.now(timezone.utc)