perf: reduce dodo data loading requests
ci / docker (push) Successful in 6m31s

This commit is contained in:
2026-09-05 19:51:00 +08:00
parent e8c49b045f
commit 2987a787d3
8 changed files with 248 additions and 44 deletions
+11 -2
View File
@@ -8,6 +8,7 @@ from sqlalchemy import (
DateTime,
Float,
ForeignKey,
Index,
Integer,
String,
Text,
@@ -94,7 +95,12 @@ class TaskTag(Base):
class Task(Base):
__tablename__ = "tasks"
__table_args__ = (UniqueConstraint("user_id", "external_id", name="uq_tasks_external_id"),)
__table_args__ = (
UniqueConstraint("user_id", "external_id", name="uq_tasks_external_id"),
Index("ix_tasks_user_active_created", "user_id", "deleted_at", "parent_id", "created_at", "id"),
Index("ix_tasks_user_due", "user_id", "deleted_at", "due_at"),
Index("ix_tasks_user_list_active", "user_id", "list_id", "deleted_at", "parent_id", "created_at", "id"),
)
id: Mapped[UUID] = mapped_column(primary_key=True, default=new_id)
user_id: Mapped[UUID] = mapped_column(ForeignKey("users.id", ondelete="CASCADE"), index=True)
list_id: Mapped[UUID] = mapped_column(ForeignKey("task_lists.id", ondelete="CASCADE"), index=True)
@@ -154,7 +160,10 @@ class Habit(Base):
class HabitLog(Base):
__tablename__ = "habit_logs"
__table_args__ = (UniqueConstraint("habit_id", "day", name="uq_habit_log_day"),)
__table_args__ = (
UniqueConstraint("habit_id", "day", name="uq_habit_log_day"),
Index("ix_habit_logs_habit_day", "habit_id", "day"),
)
id: Mapped[UUID] = mapped_column(primary_key=True, default=new_id)
habit_id: Mapped[UUID] = mapped_column(ForeignKey("habits.id", ondelete="CASCADE"), index=True)
day: Mapped[date] = mapped_column(Date)