From 1e705b822a69fffe416dd18239467979541aa45f Mon Sep 17 00:00:00 2001 From: Jacob Hagstedt Date: Fri, 12 Jun 2026 23:08:39 +0200 Subject: [PATCH] feat(backend): add indexes to SleepSession start_time and end_time Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- ...282e5bef40_add_indexes_to_sleep_session.py | 34 +++++++++++++++++++ backend/app/models.py | 4 +-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 backend/alembic/versions/a3282e5bef40_add_indexes_to_sleep_session.py diff --git a/backend/alembic/versions/a3282e5bef40_add_indexes_to_sleep_session.py b/backend/alembic/versions/a3282e5bef40_add_indexes_to_sleep_session.py new file mode 100644 index 0000000..11a24d7 --- /dev/null +++ b/backend/alembic/versions/a3282e5bef40_add_indexes_to_sleep_session.py @@ -0,0 +1,34 @@ +"""add indexes to sleep_session + +Revision ID: a3282e5bef40 +Revises: 7a424a341b1d +Create Date: 2026-06-12 22:55:33.711961 + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = 'a3282e5bef40' +down_revision: Union[str, Sequence[str], None] = '7a424a341b1d' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_sleep_session_end_time'), 'sleep_session', ['end_time'], unique=False) + op.create_index(op.f('ix_sleep_session_start_time'), 'sleep_session', ['start_time'], unique=False) + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_sleep_session_start_time'), table_name='sleep_session') + op.drop_index(op.f('ix_sleep_session_end_time'), table_name='sleep_session') + # ### end Alembic commands ### diff --git a/backend/app/models.py b/backend/app/models.py index c0b8af7..75c6eb1 100644 --- a/backend/app/models.py +++ b/backend/app/models.py @@ -7,7 +7,7 @@ class SleepSession(SQLModel, table=True): __tablename__ = "sleep_session" id: Optional[int] = Field(default=None, primary_key=True) - start_time: datetime = Field(nullable=False) - end_time: Optional[datetime] = Field(default=None, nullable=True) + start_time: datetime = Field(index=True, nullable=False) + end_time: Optional[datetime] = Field(default=None, nullable=True, index=True) created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) updated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))