diff --git a/models/mixins.py b/models/mixins.py index 3aa7c21..c36fd4e 100644 --- a/models/mixins.py +++ b/models/mixins.py @@ -1,5 +1,6 @@ from datetime import datetime +from sqlalchemy import DateTime from sqlalchemy.orm import Mapped, mapped_column @@ -15,4 +16,6 @@ class SoftDeleteMixin: class CreatedAtMixin: - created_at: Mapped[datetime] = mapped_column(nullable=False) + created_at: Mapped[datetime] = mapped_column( + DateTime(timezone=True), nullable=False + ) diff --git a/repositories/board.py b/repositories/board.py index 721a1a8..36c4bc0 100644 --- a/repositories/board.py +++ b/repositories/board.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timezone from typing import Optional from sqlalchemy import select @@ -30,7 +30,7 @@ class BoardRepository(BaseRepository): async def create(self, data: CreateBoardSchema) -> Board: board_data = data.model_dump() - board_data["created_at"] = datetime.now() + board_data["created_at"] = datetime.now(timezone.utc) board = Board(**board_data) self.session.add(board) await self.session.commit() diff --git a/repositories/deal.py b/repositories/deal.py index 54a076d..a83fbcb 100644 --- a/repositories/deal.py +++ b/repositories/deal.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timezone from typing import Optional from sqlalchemy import select @@ -25,7 +25,7 @@ class DealRepository(BaseRepository): async def create(self, data: CreateDealSchema) -> Deal: deal_data = data.model_dump() - deal_data["created_at"] = datetime.now() + deal_data["created_at"] = datetime.now(timezone.utc) deal = Deal(**deal_data) self.session.add(deal) await self.session.commit() diff --git a/repositories/project.py b/repositories/project.py index c1f69df..c445579 100644 --- a/repositories/project.py +++ b/repositories/project.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timezone from typing import Optional from sqlalchemy import select @@ -26,7 +26,7 @@ class ProjectRepository(BaseRepository): async def create(self, data: CreateProjectSchema) -> Project: project_data = data.model_dump() - project_data["created_at"] = datetime.now() + project_data["created_at"] = datetime.now(timezone.utc) project = Project(**project_data) self.session.add(project) await self.session.commit() diff --git a/schemas/deal.py b/schemas/deal.py index ab83de6..aee0fba 100644 --- a/schemas/deal.py +++ b/schemas/deal.py @@ -1,3 +1,4 @@ +from datetime import datetime from typing import Optional from schemas.base import BaseSchema, BaseResponse @@ -11,6 +12,7 @@ class DealSchema(BaseSchema): name: str lexorank: str status_id: int + created_at: datetime class CreateDealSchema(BaseSchema):